search for: scevgep11

Displaying 12 results from an estimated 12 matches for "scevgep11".

Did you mean: scevgep15
2012 Oct 17
4
[LLVMdev] Redundant Add Operation in Code Generation?
...920, align 2 * %uglygep14.sum = add i32 %lsr_iv8, %tmp45* %scevgep15 = getelementptr i8* %extIn_013, i32 %uglygep14_sum %scevgep1516 = bitcast i8* %scevgep15 to i16* %tmp79 = load i16* %scevgep1516, align 2 %conv93.i.i = sext i16 %tmp79 to i32 *%uglygep.sum = add i32 %lsr_iv8, %tmp45* %scevgep11 = getelementptr i8* %sysBits_010, i32 %uglygep_sum You can see here that "add i32 %lsr_iv8, %tmp45" is done multiple times, appearing that there are two redundant add operations that are not needed yet are generated? Thanks. -------------- next part -------------- An HTML attachment was...
2011 May 03
0
[LLVMdev] Loop-Unroll optimization
...0; i++) { c[i] = a[i] + b[i]; } printf("%d\n", c[999]); ------------------------------------------------- and bit-code in *Hello4.bc* bb3: ; preds = %bb3, %bb3.preheader %i.17 = phi i32 [ %5, %bb3 ], [ 0, %bb3.preheader ] %scevgep11 = getelementptr [1000 x i32]* %b, i32 0, i32 %i.17 %scevgep10 = getelementptr [1000 x i32]* %a, i32 0, i32 %i.17 %scevgep = getelementptr [1000 x i32]* %c, i32 0, i32 %i.17 %2 = load i32* %scevgep10, align 4 %3 = load i32* %scevgep11, align 4 %4 = add nsw i32 %3, %2 store i32 %4, i32* %...
2011 May 04
1
[LLVMdev] Loop-Unroll optimization
...} > > printf("%d\n", c[999]); > ------------------------------------------------- > > and bit-code in *Hello4.bc* > bb3: ; preds = %bb3, > %bb3.preheader > %i.17 = phi i32 [ %5, %bb3 ], [ 0, %bb3.preheader ] > %scevgep11 = getelementptr [1000 x i32]* %b, i32 0, i32 %i.17 > %scevgep10 = getelementptr [1000 x i32]* %a, i32 0, i32 %i.17 > %scevgep = getelementptr [1000 x i32]* %c, i32 0, i32 %i.17 > %2 = load i32* %scevgep10, align 4 > %3 = load i32* %scevgep11, align 4 > %4 = add nsw i32 %3,...
2011 May 03
3
[LLVMdev] Loop-Unroll optimization
Hi, You might want to try running -loops -loop-simplify before loop unroll. >From loop simplify.cpp This pass performs several transformations to transform natural loops into a00011 // simpler form, which makes subsequent analyses and transformations simpler and00012 // more effective. Arushi On Tue, May 3, 2011 at 2:17 PM, Manish Gupta <mgupta.iitr at gmail.com> wrote: > You
2012 Oct 17
0
[LLVMdev] Redundant Add Operation in Code Generation?
...sum = add i32 %lsr_iv8, %tmp45 > %scevgep15 = getelementptr i8* %extIn_013, i32 %uglygep14_sum > %scevgep1516 = bitcast i8* %scevgep15 to i16* > %tmp79 = load i16* %scevgep1516, align 2 > %conv93.i.i = sext i16 %tmp79 to i32 > %uglygep.sum = add i32 %lsr_iv8, %tmp45 > %scevgep11 = getelementptr i8* %sysBits_010, i32 %uglygep_sum > > You can see here that "add i32 %lsr_iv8, %tmp45" is done multiple times, > appearing that there are two redundant add operations that are not needed > yet are generated? CodeGenPrepare manipulates GEPs in a way that can e...
2012 Oct 19
3
[LLVMdev] Redundant Add Operation in Code Generation?
...= add i32 %lsr_iv8, %tmp45* > %scevgep15 = getelementptr i8* %extIn_013, i32 %uglygep14_sum > %scevgep1516 = bitcast i8* %scevgep15 to i16* > %tmp79 = load i16* %scevgep1516, align 2 > %conv93.i.i = sext i16 %tmp79 to i32 > *%uglygep.sum = add i32 %lsr_iv8, %tmp45* > %scevgep11 = getelementptr i8* %sysBits_010, i32 %uglygep_sum > > You can see here that "add i32 %lsr_iv8, %tmp45" is done multiple times, > appearing that there are two redundant add operations that are not needed > yet are generated? > > > That's LSR, as you can see from t...
2012 Oct 19
0
[LLVMdev] Redundant Add Operation in Code Generation?
...sum = add i32 %lsr_iv8, %tmp45 > %scevgep15 = getelementptr i8* %extIn_013, i32 %uglygep14_sum > %scevgep1516 = bitcast i8* %scevgep15 to i16* > %tmp79 = load i16* %scevgep1516, align 2 > %conv93.i.i = sext i16 %tmp79 to i32 > %uglygep.sum = add i32 %lsr_iv8, %tmp45 > %scevgep11 = getelementptr i8* %sysBits_010, i32 %uglygep_sum > > You can see here that "add i32 %lsr_iv8, %tmp45" is done multiple times, appearing that there are two redundant add operations that are not needed yet are generated? That's LSR, as you can see from the variable names ;) It...
2012 Oct 19
2
[LLVMdev] Redundant Add Operation in Code Generation?
...p45* >> %scevgep15 = getelementptr i8* %extIn_013, i32 %uglygep14_sum >> %scevgep1516 = bitcast i8* %scevgep15 to i16* >> %tmp79 = load i16* %scevgep1516, align 2 >> %conv93.i.i = sext i16 %tmp79 to i32 >> *%uglygep.sum = add i32 %lsr_iv8, %tmp45* >> %scevgep11 = getelementptr i8* %sysBits_010, i32 %uglygep_sum >> >> You can see here that "add i32 %lsr_iv8, %tmp45" is done multiple times, >> appearing that there are two redundant add operations that are not needed >> yet are generated? >> >> >> That'...
2012 Oct 17
2
[LLVMdev] Redundant Add Operation in Code Generation?
...> > %scevgep15 = getelementptr i8* %extIn_013, i32 %uglygep14_sum > > %scevgep1516 = bitcast i8* %scevgep15 to i16* > > %tmp79 = load i16* %scevgep1516, align 2 > > %conv93.i.i = sext i16 %tmp79 to i32 > > %uglygep.sum = add i32 %lsr_iv8, %tmp45 > > %scevgep11 = getelementptr i8* %sysBits_010, i32 %uglygep_sum > > > > You can see here that "add i32 %lsr_iv8, %tmp45" is done multiple times, > > appearing that there are two redundant add operations that are not needed > > yet are generated? > > CodeGenPrepare manipul...
2012 Oct 19
0
[LLVMdev] Redundant Add Operation in Code Generation?
...%tmp45 >> %scevgep15 = getelementptr i8* %extIn_013, i32 %uglygep14_sum >> %scevgep1516 = bitcast i8* %scevgep15 to i16* >> %tmp79 = load i16* %scevgep1516, align 2 >> %conv93.i.i = sext i16 %tmp79 to i32 >> %uglygep.sum = add i32 %lsr_iv8, %tmp45 >> %scevgep11 = getelementptr i8* %sysBits_010, i32 %uglygep_sum >> >> You can see here that "add i32 %lsr_iv8, %tmp45" is done multiple times, appearing that there are two redundant add operations that are not needed yet are generated? > > That's LSR, as you can see from the va...
2012 Oct 19
0
[LLVMdev] Redundant Add Operation in Code Generation?
...cevgep15 = getelementptr i8* %extIn_013, i32 %uglygep14_sum >>> %scevgep1516 = bitcast i8* %scevgep15 to i16* >>> %tmp79 = load i16* %scevgep1516, align 2 >>> %conv93.i.i = sext i16 %tmp79 to i32 >>> %uglygep.sum = add i32 %lsr_iv8, %tmp45 >>> %scevgep11 = getelementptr i8* %sysBits_010, i32 %uglygep_sum >>> >>> You can see here that "add i32 %lsr_iv8, %tmp45" is done multiple times, appearing that there are two redundant add operations that are not needed yet are generated? >> >> That's LSR, as you can...
2012 Oct 17
0
[LLVMdev] Redundant Add Operation in Code Generation?
...p15 = getelementptr i8* %extIn_013, i32 %uglygep14_sum >> > %scevgep1516 = bitcast i8* %scevgep15 to i16* >> > %tmp79 = load i16* %scevgep1516, align 2 >> > %conv93.i.i = sext i16 %tmp79 to i32 >> > %uglygep.sum = add i32 %lsr_iv8, %tmp45 >> > %scevgep11 = getelementptr i8* %sysBits_010, i32 %uglygep_sum >> > >> > You can see here that "add i32 %lsr_iv8, %tmp45" is done multiple times, >> > appearing that there are two redundant add operations that are not >> needed >> > yet are generated? >&gt...