search for: inbounds

Displaying 20 results from an estimated 4991 matches for "inbounds".

2016 Apr 29
2
[MemorySSA] Potential CachingMemorySSAWalker bug
...------------ next part -------------- ; opt -early-cse -S < LoadShorts-simple2.ll target triple = "aarch64--linux-gnu" %S1 = type { i32, i32, i16, i16, i8, i8 } define void @test() { entry: %call1 = call noalias i8* @malloc() %0 = bitcast i8* %call1 to %S1* %ui = getelementptr inbounds %S1, %S1* %0, i32 0, i32 0 store i32 undef, i32* %ui, align 4 %us = getelementptr inbounds %S1, %S1* %0, i32 0, i32 2 store i16 undef, i16* %us, align 4 %s = getelementptr inbounds %S1, %S1* %0, i32 0, i32 3 store i16 undef, i16* %s, align 2 %ub = getelementptr inbounds %S1, %S1* %0, i3...
2011 May 03
3
[LLVMdev] GVN Infinite loop
Hi, GVN seems to be running in an infinite loop on my example. I have attached the output of one iteration. I cant seem to reduce the testcase either. Any pointers to how to reduce the test case. THanks, Arushi GVN iteration: 8 GVN WIDENED LOAD: %0 = load i8* getelementptr inbounds (%struct.CHESS_POSITION* @search, i64 0, i32 23), align 2, !dbg !875 TO: %1 = load i16* bitcast (i8* getelementptr inbounds (%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2 GVN COERCED INST: %0 = load i8* getelementptr inbounds (%struct.CHESS_POSITION* @search, i64 0, i32 23),...
2012 Feb 16
0
[LLVMdev] Wrong AliasAnalysis::getModRefInfo result
...->getType())->getElementType(); int64_t size2 = TD.getTypeAllocSize(t2); AliasAnalysis::AliasResult aa = AA.alias(gep1, size1, errs() << " alias: " << aa << "\n"; } } Here is the result: %9 = getelementptr inbounds i32* %8, i32 %7 --> %9 = getelementptr inbounds i32* %8, i32 %7 alias: 1 %9 = getelementptr inbounds i32* %8, i32 %7 --> %13 = getelementptr inbounds i32* %12, i32 %11 alias: 1 %9 = getelementptr inbounds i32* %8, i32 %7 --> %18 = getelementptr inbounds i32* %17, i32 %16 al...
2012 Feb 15
2
[LLVMdev] Wrong AliasAnalysis::getModRefInfo result
Just want to test out the LLVM's AliasAnalysis::getModRefInfo API. The input C code is very simple: void foo(int *a, int *b) { for(int i=0; i<10; i++) b[i] = a[i]*a[i]; } int main() { int a[10]; int b[10]; for(int i=0; i<10; i++) a[i] = i; foo(a,b); return 0; } Obviously, for "foo", it only reads from array "a" and only writes to array
2012 Feb 16
0
[LLVMdev] Wrong AliasAnalysis::getModRefInfo result
Thanks Duncan! You are right! If I type the command "opt -basicaa -mypass ...", then the output makes sense. Now, how can you specify which AA to use in the code? Regards, Welson On Thu, Feb 16, 2012 at 12:05 PM, Duncan Sands <baldrick at free.fr> wrote: > Hi Welson, the default alias analysis is -no-aa. As the name suggests it > just returns MayAlias for everything.
2012 Feb 16
2
[LLVMdev] Wrong AliasAnalysis::getModRefInfo result
Hi Welson, the default alias analysis is -no-aa. As the name suggests it just returns MayAlias for everything. Maybe you are using that one? Best wishes, Duncan.
2011 May 04
0
[LLVMdev] GVN Infinite loop
...e infinite loops (it has a -timeout flag), I'd try it. Even if this doesn't help, please do file a bug with whatever you have. This is likely to be a recent regression. -Chris > > THanks, > Arushi > > GVN iteration: 8 > GVN WIDENED LOAD: %0 = load i8* getelementptr inbounds (%struct.CHESS_POSITION* @search, i64 0, i32 23), align 2, !dbg !875 > TO: %1 = load i16* bitcast (i8* getelementptr inbounds (%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2 > GVN COERCED INST: > %0 = load i8* getelementptr inbounds (%struct.CHESS_POSITION* @search,...
2011 Oct 18
2
[LLVMdev] LLVM constant propagation optimization question
Hi all, I'm writting following LLVM assembly: ; ModuleID = 'structaccess.ll' %struct._anon0 = type <{ i32, i32, i32 }> @s = common global %struct._anon0 zeroinitializer define arm_aapcscc void @foo() nounwind { L.entry: store i32 5, i32* getelementptr inbounds (%struct._anon0* @s, i32 0, i32 0) store i32 10, i32* getelementptr inbounds (%struct._anon0* @s, i32 0, i32 1) %0 = load i32* getelementptr inbounds (%struct._anon0* @s, i32 0, i32 0) %1 = load i32* getelementptr inbounds (%struct._anon0* @s, i32 0, i32 1) %2 = add i32 %0, %1 store i32 %...
2014 Sep 19
3
[LLVMdev] [Vectorization] Mis match in code generated
...*target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128" target triple = "x86_64-pc-linux-gnu" ; Function Attrs: nounwind define void @foo(i32* nocapture readonly %a, i32* nocapture %sum) #0 { entry: %0 = load i32* %a, align 4, !tbaa !1 %arrayidx1 = getelementptr inbounds i32* %a, i32 1 %1 = load i32* %arrayidx1, align 4, !tbaa !1 %add = add nsw i32 %1, %0 %arrayidx2 = getelementptr inbounds i32* %a, i32 2 %2 = load i32* %arrayidx2, align 4, !tbaa !1 %add3 = add nsw i32 %add, %2 %arrayidx4 = getelementptr inbounds i32* %a, i32 3 %3 = load i32* %arrayid...
2016 Jul 19
4
RFC: inbounds on getelementptr indices for global splitting
Hi all, I'd like to propose an IR extension that allows the inbounds keyword to be attached to indices in a getelementptr constantexpr. By placing the inbounds keyword on an index, any pointer derived from the getelementptr outside of the bounds of the element referred to by that index, other than the pointer one past the end of the element, shall be treated as a p...
2013 Feb 14
1
[LLVMdev] LiveIntervals analysis problem
...align 2 %u.i = alloca [13 x i16], align 2 %w.i = alloca [13 x i16], align 2 %e = alloca [13 x i16], align 2 %rnd = alloca %struct.LDPARMS, align 4 %outbuf = alloca [57 x i8], align 1 %du = alloca double, align 4 store double %d, double* %du, align 4, !tbaa !0 %rlast = getelementptr inbounds %struct.LDPARMS* %rnd, i32 0, i32 0 store i32 -1, i32* %rlast, align 4, !tbaa !3 %rndprc = getelementptr inbounds %struct.LDPARMS* %rnd, i32 0, i32 1 store i32 144, i32* %rndprc, align 4, !tbaa !3 %_result = getelementptr inbounds %struct._reent* %ptr, i32 0, i32 10 %0 = load %struct._Big...
2014 Sep 18
2
[LLVMdev] [Vectorization] Mis match in code generated
...foo(i32* nocapture readonly %a, i32 %n) #0 {entry: br label > %for.bodyfor.body: ; preds = > %for.body, %entry %i.05 = phi i32 [ 0, %entry ], [ %inc, %for.body ] > %sum.04 = phi i32 [ 0, %entry ], [ %add, %for.body ] %arrayidx = > getelementptr inbounds i32* %a, i32 %i.05 %0 = load i32* %arrayidx, align > 4, !tbaa !1 %add = add nsw i32 %0, %sum.04 %inc = add nsw i32 %i.05, 1 > %exitcond = icmp eq i32 %i.05, 15 br i1 %exitcond, label %for.end, label > %for.bodyfor.end: ; preds = > %for.body...
2015 Dec 11
2
Optimization of successive constant stores
Hmm... found an interesting issue: Given: %2 = getelementptr inbounds %UodStructType* %0, i32 0, i32 0 store i8 1, i8* %2, align 8 %3 = getelementptr inbounds %UodStructType* %0, i32 0, i32 1 store i8 2, i8* %3, align 1 %4 = getelementptr inbounds %UodStructType* %0, i32 0, i32 2 store i8 3, i8* %4, align 2 %5 = getelementptr inbounds %UodStru...
2017 Nov 08
5
Is it ok to allocate > half of address space?
Hi, I was looking into the semantics of GEP inbounds and some BasicAA rules and I'm wondering if it's valid in LLVM IR to allocate more than half of the address space with a global variable or an alloca. If that's a scenario want to consider, then we have problems :) Consider this C code (32 bits): #include <string.h> char obj...
2016 Oct 06
2
LoopVectorizer -- generating bad and unhandled shufflevector sequence
...ile.body320 ], [ %74, %while.body320.preheader ] %rl.0289 = phi i64* [ %incdec.ptr333, %while.body320 ], [ %75, %while.body320.preheader ] %len.0288 = phi i32 [ %dec, %while.body320 ], [ %conv316, %while.body320.preheader ] %dec = add nsw i32 %len.0288, -1 %incdec.ptr = getelementptr inbounds i64, i64* %ll.0290, i64 1 %176 = load i64, i64* %ll.0290, align 8 %incdec.ptr321 = getelementptr inbounds i64, i64* %rl.0289, i64 1 %177 = load i64, i64* %rl.0289, align 8 %and322 = and i64 %177, %176 %incdec.ptr323 = getelementptr inbounds i64, i64* %dl.0291, i64 1 store i64 %and...
2011 Oct 18
3
[LLVMdev] LLVM constant propagation optimization question
...y optimizations. > > Ciao, Duncan. > > > %struct._anon0 = type <{ i32, i32, i32 }> > > > > @s = common global %struct._anon0 zeroinitializer > > > > define arm_aapcscc void @foo() nounwind { > > L.entry: > > store i32 5, i32* getelementptr inbounds (%struct._anon0* @s, i32 0, > i32 0) > > store i32 10, i32* getelementptr inbounds (%struct._anon0* @s, i32 0, > i32 1) > > %0 = load i32* getelementptr inbounds (%struct._anon0* @s, i32 0, i32 > 0) > > %1 = load i32* getelementptr inbounds (%struct._anon0* @s, i...
2014 Sep 18
2
[LLVMdev] [Vectorization] Mis match in code generated
...readonlydefine i32 @foo(i32* nocapture readonly %a, i32 %n) #0 {entry: br label %for.bodyfor.body: ; preds = %for.body, %entry %i.05 = phi i32 [ 0, %entry ], [ %inc, %for.body ] %sum.04 = phi i32 [ 0, %entry ], [ %add, %for.body ] %arrayidx = getelementptr inbounds i32* %a, i32 %i.05 %0 = load i32* %arrayidx, align 4, !tbaa !1 %add = add nsw i32 %0, %sum.04 %inc = add nsw i32 %i.05, 1 %exitcond = icmp eq i32 %i.05, 15 br i1 %exitcond, label %for.end, label %for.bodyfor.end: ; preds = %for.body ret i32 %add}* *IR...
2014 Nov 10
2
[LLVMdev] [Vectorization] Mis match in code generated
...because the horizontal reduction code assumes it can > reassociate freely. > > > clang -O3 test_hor_redux.c -emit-llvm -S -o - -mllvm > -slp-vectorize-hor-store -debug-only=SLP -ffast-math -mllvm -debug-only=SLP > > ... > > Reduced val: %1 = load float* getelementptr inbounds ([4 x float]* @a, > i64 0, i64 1), align 4, !tbaa !1 > Reduced val: %0 = load float* getelementptr inbounds ([4 x float]* @a, > i64 0, i64 0), align 16, !tbaa !1 > Reduced val: %2 = load float* getelementptr inbounds ([4 x float]* @a, > i64 0, i64 2), align 8, !tbaa !1 >...
2011 Dec 14
0
[LLVMdev] Help with hazards
...x = common global double* null, align 4 @yy = common global double* null, align 4 @str = internal unnamed_addr constant [29 x i8] c"Loop \09 Time(Sec) \09 Checksum \00" define i32 @s000() nounwind { entry: %call = tail call i32 bitcast (i32 (...)* @init to i32 (i8*)*)(i8* getelementptr inbounds ([6 x i8]* @.str, i32 0, i32 0)) nounwind %call1 = tail call i32 @clock() nounwind br label %for.cond2.preheader for.cond2.preheader: ; preds = %for.end, %entry %nl.014 = phi i32 [ 0, %entry ], [ %inc8, %for.end ] br label %for.body4 for.body4:...
2004 Apr 23
1
Rsync Log Error
I have the latest rsync running on mandrake official 10. At 2:30 I run rsync --daemon from cron to run an offsite backup for all my customers. At 8:00 I run killall rsync. However my log files show the following: 2004/04/20 02:00:00 [2702] rsyncd version 2.6.0 starting, listening on port 873 2004/04/20 02:00:59 [2707] rsyncd version 2.6.0 starting, listening on port 873 2004/04/20