search for: tmp20

Displaying 20 results from an estimated 34 matches for "tmp20".

Did you mean: tmp2
2014 May 22
2
[LLVMdev] RFC: Indexing of structs vs arrays in getelementpointer
...bounds %struct2* %dm, i64 %tmp9, i32 0 br label %bb3 bb2: ; preds = %.lr.ph.i.i %tmp20 = getelementptr inbounds %struct2* %dm, i64 %tmp9, i32 1 br label %bb3 bb3: ; preds = %bb2, %bb1...
2007 Jul 03
1
[LLVMdev] Question about Constant Expressions
Hi! Is there a pass that will remove constant expressions from appearing within other expressions? For instance it would convert the call: %tmp20 = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i32 %tmp18 ) ; <i32> [#uses=0] Into: %tmpFresh = getelementptr [4 x i8]* @.str, i32 0, i32 0 ; <i8*> [#uses = 1] %tmp20 = tail call i32 (i8*, ...)* @printf( i8* %tmpFresh, i32 %tmp18 ) ; &lt...
2008 Feb 16
0
[LLVMdev] linux/x86-64 codegen support
...c:631 turns into: %tmp16 = tail call i64 @strlen( i8* %to ) nounwind readonly ; <i64> [#uses=1] %tmp18 = tail call i64 @strlen( i8* %from ) nounwind readonly ; <i64> [#uses=1] %tmp19 = add i64 %tmp16, 2 ; <i64> [#uses=1] %tmp20 = add i64 %tmp19, %tmp18 ; <i64> [#uses=1] %tmp21 = tail call i8* @alloca( i64 %tmp20 ) nounwind ; <i8*> [#uses=5] other allocas in that file become instructions. Andrew On 2/16/08, Chris Lattner <sabre at nondot.org> wrote: > PR1711 is an x86 codegen proble...
2008 Feb 16
2
[LLVMdev] linux/x86-64 codegen support
PR1711 is an x86 codegen problem that is blocking adoption of llvm-gcc by people using linux on x86-64 boxes. Could someone with access to one of these boxes take a look? I'll help try to debug this, but I don't have access to a machine. I bet it's a small tweak required in the x86 backend. Thanks! -Chris
2011 Oct 06
2
[LLVMdev] A potential bug
...(i32* %tv_sec17) // intrinsic function call ... 19. %tmp18 = load i32* %tv_sec17.safe_r, align 4, !tbaa !4 20. %tv_usec19 = getelementptr inbounds %struct.timeval* %agg.tmp12, i32 0, i32 1 21. %tv_usec19.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_usec19) // intrinsic function call 22. %tmp20 = load i32* %tv_usec19.safe_r, align 4, !tbaa !4 23. %call21 = call i32 @delta(i32 %tmp15, i32 %tmp16, i32 %tmp18, i32 %tmp20) ... It is compiled by clang 2.9. This BB is an end block in a function. Intrinsic function llvm.guard.load.p0i32 is defined as follows: let Properties = [IntrNoMem, NoC...
2014 May 23
2
[LLVMdev] RFC: Indexing of structs vs arrays in getelementpointer
...Attrs: ssp uwtable > define i32 @test1(%struct2* %dm, i1 %tmp4, i64 %tmp9, i64 %tmp19) { > bb: > br i1 %tmp4, label %bb1, label %bb2 > bb1: ; preds = %bb5 > %tmp10 = getelementptr inbounds %struct2* %dm, i64 %tmp9, i32 0 > br label %bb3 > > bb2: ; preds = %.lr.ph.i.i > %tmp20 = getelementptr inbounds %struct2* %dm, i64 %tmp9, i32 1 > br label %bb3 > > bb3: ; preds = %bb2, %bb1 > %phi = phi %struct1* [ %tmp10, %bb1 ], [ %tmp20, %bb2 ] > %tmp24 = getelementptr inbounds %struct1* %phi, i64 0, i32 1 > > %tmp25 = load i32* %tmp24, align 4 > ret i32...
2007 Jun 12
3
[LLVMdev] ARM backend problem ?
...p6 = icmp sgt i32 %tmp7, %tmp8 br i1 %tmp6, label %then4, label %else12 then4: %tmp14 = load i32* %i %tmp16 = load i32* %n %tmp18 = load i32* %inc %tmp15 = add i32 %tmp16, %tmp18 %tmp13 = icmp slt i32 %tmp14, %tmp15 br i1 %tmp13, label %then11, label %else12 then11: %tmp20 = load i32* %f %tmp22 = alloca i32 store i32 1 , i32* %tmp22 %tmp23 = load i32* %tmp22 %tmp24 = load i32* %i %tmp21 = add i32 %tmp24, %tmp23 store i32 %tmp21, i32* %i %tmp19 = mul i32 %tmp20, %tmp21 store i32 %tmp19, i32* %f br label %then4 else12:...
2011 Oct 06
2
[LLVMdev] A potential bug
...gt; 19.  %tmp18 = load i32* %tv_sec17.safe_r, align 4, !tbaa !4 >> 20.  %tv_usec19 = getelementptr inbounds %struct.timeval* %agg.tmp12, i32 0, >> i32 1 >> 21.  %tv_usec19.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_usec19) >> // intrinsic function call >> 22.  %tmp20 = load i32* %tv_usec19.safe_r, align 4, !tbaa !4 >> 23.  %call21 = call i32 @delta(i32 %tmp15, i32 %tmp16, i32 %tmp18, i32 >> %tmp20) >>   ... >> >> It is compiled by clang 2.9. This BB is an end block in a function. >> Intrinsic function llvm.guard.load.p0i32 is...
2013 Oct 27
2
[LLVMdev] Missed optimization opportunity with piecewise load shift-or'd together?
...32 %tmp9 = shl nuw nsw i32 %tmp8, 16 %tmp10 = or i32 %tmp9, %tmp4 %tmp12 = getelementptr inbounds i8* %x_arg, i64 1 %tmp13 = load i8* %tmp12, align 1 %tmp14 = zext i8 %tmp13 to i32 %tmp15 = shl nuw nsw i32 %tmp14, 8 %tmp16 = or i32 %tmp10, %tmp15 %tmp19 = load i8* %x_arg, align 4 %tmp20 = zext i8 %tmp19 to i32 %tmp21 = or i32 %tmp16, %tmp20 ret i32 %tmp21 } attributes #0 = { nounwind readonly } --- Is there a reason why this can't be optimized down to a single i32 load based on the IR semantics, or is this just a missed optimization opportunity? Thanks, David
2011 Oct 06
0
[LLVMdev] A potential bug
...function call ... > 19.  %tmp18 = load i32* %tv_sec17.safe_r, align 4, !tbaa !4 > 20.  %tv_usec19 = getelementptr inbounds %struct.timeval* %agg.tmp12, i32 0, > i32 1 > 21.  %tv_usec19.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_usec19) > // intrinsic function call > 22.  %tmp20 = load i32* %tv_usec19.safe_r, align 4, !tbaa !4 > 23.  %call21 = call i32 @delta(i32 %tmp15, i32 %tmp16, i32 %tmp18, i32 > %tmp20) >   ... > > It is compiled by clang 2.9. This BB is an end block in a function. > Intrinsic function llvm.guard.load.p0i32 is defined as follows: &gt...
2008 Dec 07
1
[LLVMdev] How to extract loop body into a new function?
...%i2.0.reg2mem.0 = phi i32 [ 0, %bb ], [ %indvar.next62, %bb13 ] ; <i32> [#uses=2] %tmp15 = getelementptr [25 x i32]* %B, i32 0, i32 %i2.0.reg2mem.0 ; <i32*> [#uses=1] %tmp16 = load i32* %tmp15, align 4 ; <i32> [#uses=2] %tmp20 = shl i32 %tmp16, 1 ; <i32> [#uses=1] %tmp21 = getelementptr [25 x i32]* %A, i32 0, i32 %tmp16 ; <i32*> [#uses=1] store i32 %tmp20, i32* %tmp21, align 4 %indvar.next62 = add i32 %i2.0.reg2mem.0, 1 ; <i32> [#uses=2]...
2007 Jun 12
0
[LLVMdev] ARM backend problem ?
...then4: > > %tmp14 = load i32* %i > > %tmp16 = load i32* %n > > %tmp18 = load i32* %inc > > %tmp15 = add i32 %tmp16, %tmp18 > > %tmp13 = icmp slt i32 %tmp14, %tmp15 > > br i1 %tmp13, label %then11, label %else12 > > > > then11: > > %tmp20 = load i32* %f > > %tmp22 = alloca i32 > > store i32 1 , i32* %tmp22 > > %tmp23 = load i32* %tmp22 > > %tmp24 = load i32* %i > > %tmp21 = add i32 %tmp24, %tmp23 > > store i32 %tmp21, i32* %i > > %tmp19 = mul i32 %tmp20, %tmp21 > > stor...
2008 Feb 16
2
[LLVMdev] linux/x86-64 codegen support
...%tmp16 = tail call i64 @strlen( i8* %to ) nounwind readonly > ; <i64> [#uses=1] > %tmp18 = tail call i64 @strlen( i8* %from ) nounwind readonly > ; <i64> [#uses=1] > %tmp19 = add i64 %tmp16, 2 ; <i64> [#uses=1] > %tmp20 = add i64 %tmp19, %tmp18 ; <i64> [#uses=1] > %tmp21 = tail call i8* @alloca( i64 %tmp20 ) nounwind > ; <i8*> [#uses=5] > > other allocas in that file become instructions. > > Andrew > > On 2/16/08, Chris Lattner <sabre at nondot.org> wrote:...
2011 Jul 17
0
[LLVMdev] Trying to optimize out store/load pair
...compoundliteral, i32 0, i32 8 %.idx.i = getelementptr %struct.AKEKernelContext* %.compoundliteral, i64 0, i32 7 br label %for.cond21.preheader for.cond21.preheader: ; preds = %for.inc152, %entry %indvar10 = phi i64 [ %indvar.next11, %for.inc152 ], [ 0, %entry ] %tmp20 = mul i64 %indvar10, 3840 %tmp2227 = or i64 %tmp20, 1 %tmp2428 = or i64 %tmp20, 2 %tmp26 = trunc i64 %indvar10 to i32 br label %for.body25 for.body25: ; preds = %for.body25, %for.cond21.preheader %indvar4 = phi i64 [ 0, %for.cond21.preheader ], [ %in...
2010 Nov 23
1
[LLVMdev] Unrolling loops into constant-time expressions
...2 %tmp16 = add i32 %x, -3 %tmp7 = zext i32 %tmp6 to i33 %tmp5 = zext i32 %tmp4 to i33 %tmp17 = zext i32 %tmp16 to i33 %tmp15 = mul i33 %tmp5, %tmp7 %tmp18 = mul i33 %tmp15, %tmp17 %tmp8 = mul i32 %tmp4, %tmp6 %tmp19 = lshr i33 %tmp18, 1 %2 = shl i32 %tmp8, 2 %tmp20 = trunc i33 %tmp19 to i32 %tmp12 = mul i32 %x, 5 %tmp1125 = and i32 %2, -8 %tmp21 = mul i32 %tmp20, 1431655764 %tmp13 = add i32 %tmp1125, %tmp12 %tmp14 = add i32 %tmp13, -4 %tmp22 = sub i32 %tmp14, %tmp21 ret i32 %tmp22 ; <label>:3...
2011 Jul 17
0
[LLVMdev] Trying to optimize out store/load pair
...* %.compoundliteral, i32 0, i32 8 %.idx.i = getelementptr %struct.AKEKernelContext* %.compoundliteral, i64 0, i32 7 br label %for.cond21.preheader for.cond21.preheader: ; preds = %for.inc152, %entry %indvar10 = phi i64 [ %indvar.next11, %for.inc152 ], [ 0, %entry ] %tmp20 = mul i64 %indvar10, 3840 %tmp2227 = or i64 %tmp20, 1 %tmp2428 = or i64 %tmp20, 2 %tmp26 = trunc i64 %indvar10 to i32 br label %for.body25 for.body25: ; preds = %for.body25, %for.cond21.preheader %indvar4 = phi i64 [ 0, %for.cond21.preheader ], [ %indvar....
2014 May 22
4
[LLVMdev] RFC: Indexing of structs vs arrays in getelementpointer
...br label %bb3 bb2: %tmp20 = getelementptr inbounds %struct2* %tmp1, i64 %tmp19 br label %bb3 bb3:...
2011 Oct 06
0
[LLVMdev] A potential bug
...17.safe_r, align 4, !tbaa !4 > >> 20. %tv_usec19 = getelementptr inbounds %struct.timeval* %agg.tmp12, > i32 0, > >> i32 1 > >> 21. %tv_usec19.safe_r = call i32* @llvm.guard.load.p0i32(i32* > %tv_usec19) > >> // intrinsic function call > >> 22. %tmp20 = load i32* %tv_usec19.safe_r, align 4, !tbaa !4 > >> 23. %call21 = call i32 @delta(i32 %tmp15, i32 %tmp16, i32 %tmp18, i32 > >> %tmp20) > >> ... > >> > >> It is compiled by clang 2.9. This BB is an end block in a function. > >> Intrinsic fun...
2011 Oct 06
1
[LLVMdev] A potential bug
...20.  %tv_usec19 = getelementptr inbounds %struct.timeval* %agg.tmp12, >> >> i32 0, >> >> i32 1 >> >> 21.  %tv_usec19.safe_r = call i32* @llvm.guard.load.p0i32(i32* >> >> %tv_usec19) >> >> // intrinsic function call >> >> 22.  %tmp20 = load i32* %tv_usec19.safe_r, align 4, !tbaa !4 >> >> 23.  %call21 = call i32 @delta(i32 %tmp15, i32 %tmp16, i32 %tmp18, i32 >> >> %tmp20) >> >>   ... >> >> >> >> It is compiled by clang 2.9. This BB is an end block in a function. >&gt...
2010 Nov 07
0
[LLVMdev] Hoisting elements of array argument into registers
...ds = %entry %.promoted1.i = load i32* %1, align 4 %tmp12.i = add i32 %a, -1 %tmp13.i = zext i32 %tmp12.i to i33 %tmp14.i = add i32 %a, -2 %tmp15.i = zext i32 %tmp14.i to i33 %tmp16.i = mul i33 %tmp13.i, %tmp15.i %tmp17.i = lshr i33 %tmp16.i, 1 %tmp18.i = trunc i33 %tmp17.i to i32 %tmp20.i = mul i32 %.promoted1.i, 5 %tmp21.i = add i32 %tmp20.i, -5 %tmp22.i = mul i32 %tmp21.i, %tmp12.i %tmp9.i = mul i32 %a, %a %.promoted2.i = load i32* %2, align 4 %tmp25.i = mul i32 %tmp18.i, 5 %tmp.i = sub i32 %.promoted1.i, %a %tmp10.i = add i32 %tmp9.i, 1 %tmp11.i = sub i32 %tmp10...