search for: tmp15

Displaying 20 results from an estimated 40 matches for "tmp15".

Did you mean: tmp1
2007 Dec 12
0
[LLVMdev] Darwin vs exceptions
...%UnifiedReturnBlock unwind label %lpad ... lpad: ; preds = %entry %eh_ptr = tail call i8* @llvm.eh.exception( ) %eh_select = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr, i32 (...)* @__gxx_personality_v0, i8* A) %eh_typeid = tail call i32 @llvm.eh.typeid.for.i32( i8* A ) %tmp15 = icmp eq i32 %eh_select, %eh_typeid br i1 %tmp15, label %bb, label %Unwind ... Unwind: ; preds = %lpad tail call i32 (...)* @_Unwind_Resume( i8* %eh_ptr ) unreachable ... } define void @_Z1hv() { entry: invoke void @_Z1gv( ) to label %UnifiedReturnBlock unwind label %lpad ... lpad: ; pre...
2007 Dec 10
3
[LLVMdev] Darwin vs exceptions
On Dec 10, 2007, at 11:38 AM, Duncan Sands wrote: >>> ... If you force a "cleanup" by changing the selector call to: >>> %eh_select8.i = tail call i32 (i8*, i8*, ...)* >>> @llvm.eh.selector.i32( i8* %eh_ptr.i, i8* bitcast (i32 (...)* >>> @__gxx_personality_v0 to i8*), i32 0) >>> then it doesn't work either: the unwinder observes that
2015 Jun 11
4
[LLVMdev] Question about NoWrap flag for SCEVAddRecExpr
...nounwind ssp uwtable > define void @myloop1() { > bb: > br label %bb2 > > bb1: ; preds = %bb2 > ret void > > bb2: ; preds = %bb2, %bb > %k.01 = phi i64 [ 0, %bb ], [ %tmp15, %bb2 ] > %tmp = shl nsw i64 %k.01, 1 > %dummy_sext = sext i64 %tmp to i128 > %tmp3 = getelementptr inbounds [1024 x float], [1024 x float]* @x, > i64 0, i64 %tmp > %tmp4 = load float, float* %tmp3, align 16, !tbaa !2 > %tmp5 = getelementptr inbounds [1024 x float],...
2015 Jun 10
3
[LLVMdev] Question about NoWrap flag for SCEVAddRecExpr
I am testing vectorization on the following test case: float x[1024], y[1024]; void myloop1() { for (long int k = 0; k < 512; k++) { x[2*k] = x[2*k]+y[k]; } } Vectorization failed due to "unsafe dependent memory operation". I traced the LoopAccessAnalysis.cpp and found the reason is the NoWrapFlag for SCEVAddRecExpr is not set and consequently the
2008 Jan 12
1
[LLVMdev] Labels
...** @yybuf, align 4 %tmp6 = tail call i8* @realloc( i8* %tmp5, i32 %tmp3 ) store i8* %tmp6, i8** @yybuf, align 4 %tmp8 = load i32* @yybuflen, align 4 %tmp9 = load i32* @yypos, align 4 %tmp10 = sub i32 %tmp8, %tmp9 %tmp11 = icmp slt i32 %tmp10, 512 br i1 %tmp11, label %bb, label %bb13 bb13: %tmp15 = load %struct._IO_FILE** @stdin, align 4 %tmp16 = tail call i32 @_IO_getc( %struct._IO_FILE* %tmp15 ) %tmp21 = icmp eq i32 %tmp16, -1 br i1 %tmp21, label %cond_next, label %cond_true cond_true: %tmp24 = load i8** @yybuf, align 4 %tmp25 = load i32* @yypos, align 4 %tmp2627 = trunc i32 %tmp16...
2011 Oct 06
2
[LLVMdev] A potential bug
...// eliminated ... 10. store i64 %tmp50, i64* %3, align 8 // eliminated ... 11. %tv_sec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 0, i32 0 12. %tv_sec.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_sec) // intrinsic function call inserted by me 13. %tmp15 = load i32* %tv_sec.safe_r, align 4, !tbaa !4 // this loads the value stored at line 6 14. %tv_usec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 0, i32 1 15. %tv_usec.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_usec) // intrinsic function call ... 16. %tmp1...
2010 Sep 10
1
[LLVMdev] Missing Optimization Opportunities
...1] %tmp11 = load i32* @src-ip ; <i32> [#uses=1] %tmp12 = and i32 %tmp11, -16777216 ; <i32> [#uses=1] %tmp13 = icmp eq i32 %tmp12, 721420288 ; <i1> [#uses=3] %tmp14 = and i1 %tmp2, %tmp5 ; <i1> [#uses=1] %tmp15 = and i1 %tmp13, %tmp14 ; <i1> [#uses=1] tail call void @spa.assert(i1 %tmp15) %tmp16 = and i1 %tmp8, %tmp10 ; <i1> [#uses=1] %tmp17 = and i1 %tmp13, %tmp16 ; <i1> [#uses=1] tail call void @spa.assert(i1 %tmp17) %tmp18...
2007 Jun 12
3
[LLVMdev] ARM backend problem ?
...i32 1, i32* %i store i32 0 , i32* %zero store i32 1 , i32* %inc %tmp7 = load i32* %n %tmp8 = load i32* %zero %tmp6 = 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 i...
2011 Oct 06
2
[LLVMdev] A potential bug
...n 8                           // >> eliminated ... >> 11.  %tv_sec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 0, i32 >> 0 >> 12.  %tv_sec.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_sec)   // >> intrinsic  function call inserted by me >> 13.  %tmp15 = load i32* %tv_sec.safe_r, align 4, !tbaa >> !4                     // this loads the value stored at line 6 >> 14.  %tv_usec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 0, i32 >> 1 >> 15.  %tv_usec.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_usec)  // &g...
2013 Oct 27
2
[LLVMdev] Missed optimization opportunity with piecewise load shift-or'd together?
...= getelementptr inbounds i8* %x_arg, i64 2 %tmp7 = load i8* %tmp6, align 1 %tmp8 = zext i8 %tmp7 to i32 %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 lo...
2009 Jan 06
2
[LLVMdev] LLVM Optmizer
...s=3] %2 = add i32 %indvar, 2 ; <i32> [#uses=1] %3 = icmp sgt i32 %2, %paraml ; <i1> [#uses=1] %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1] br i1 %3, label %bb5.loopexit, label %bb3 bb5.loopexit: ; preds = %bb3 %tmp14 = add i32 %parami, 1 ; <i32> [#uses=1] %tmp15 = mul i32 %indvar, %tmp14 ; <i32> [#uses=1] %varx.111 = add i32 %tmp15, %varx.110 ; <i32> [#uses=1] %4 = add i32 %varx.111, %parami ; <i32> [#uses=1] %phitmp = add i32 %4, 1 ; <i32> [#uses=1] br label %bb5 bb5: ; preds = %bb5.loopexit, %entry %varx.1.lcssa = phi i...
2011 Oct 06
0
[LLVMdev] A potential bug
...64 %tmp50, i64* %3, align 8                           // > eliminated ... > 11.  %tv_sec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 0, i32 > 0 > 12.  %tv_sec.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_sec)   // > intrinsic  function call inserted by me > 13.  %tmp15 = load i32* %tv_sec.safe_r, align 4, !tbaa > !4                     // this loads the value stored at line 6 > 14.  %tv_usec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 0, i32 > 1 > 15.  %tv_usec.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_usec)  // > intrinsic fun...
2008 Dec 07
1
[LLVMdev] How to extract loop body into a new function?
...to a function. For example: The Loop in question is: for (i2 = 0; i2 < LOOP_SIZE; i2++) { A[B[i2]] = 2 * B[i2]; } The IR for which is: bb13: ; preds = %bb13, %bb %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, i3...
2007 Aug 02
0
[LLVMdev] Debug info for conditionally defined variables?
...tmp.0 call void @llvm.dbg.declare( { }* %iftmp.0, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable792014 to { }*) ) // Declares tm as tm call void @llvm.dbg.declare( { }* %tm8, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable91 to { }*) ) ... cond_true: %tmp15 = call %struct.tm* @localtime( i64* %curr ) br label %cond_next cond_false: %tmp16 = call %struct.tm* @gmtime( i64* %curr ) br label %cond_next cond_next: %storemerge = phi %struct.tm* [ %tmp15, %cond_true ], [ %tmp16, %cond_false ] store %struct.tm* %storemerge, %struct.tm**...
2007 Jun 12
0
[LLVMdev] ARM backend problem ?
...%tmp7 = load i32* %n > > %tmp8 = load i32* %zero > > %tmp6 = 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...
2010 Nov 23
1
[LLVMdev] Unrolling loops into constant-time expressions
...%x, 0 br i1 %1, label %bb.nph, label %3 bb.nph: ; preds = %0 %tmp4 = add i32 %x, -1 %tmp6 = add i32 %x, -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 = ad...
2010 Sep 29
0
[LLVMdev] spilling & xmm register usage
...oat %tmp53.i) nounwind > %tmp5.i.i = fmul float %call.i.i, 0x3FCDA67120000000 > %tmp6.i.i = fadd float %tmp5.i.i, 1.000000e+00 > %tmp7.i.i = fdiv float 1.000000e+00, %tmp6.i.i > %tmp11.i.i = fsub float -0.000000e+00, %tmp53.i > %tmp13.i.i = fmul float %tmp53.i, %tmp11.i.i > %tmp15.i.i = fdiv float %tmp13.i.i, 2.000000e+00 > %call16.i.i = tail call float @llvm.exp.f32(float %tmp15.i.i) nounwind > %tmp17.i.i = fmul float %call16.i.i, 0x3FD9884540000000 > %tmp19.i.i = fmul float %tmp17.i.i, %tmp7.i.i > %tmp29.i.i = fmul float %tmp7.i.i, 0x3FF548CDE0000000 >...
2011 Oct 06
0
[LLVMdev] A potential bug
...>> eliminated ... > >> 11. %tv_sec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 0, > i32 > >> 0 > >> 12. %tv_sec.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_sec) > // > >> intrinsic function call inserted by me > >> 13. %tmp15 = load i32* %tv_sec.safe_r, align 4, !tbaa > >> !4 // this loads the value stored at line 6 > >> 14. %tv_usec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 0, > i32 > >> 1 > >> 15. %tv_usec.safe_r = call i32* @llvm.guard.load.p0...
2011 Oct 06
1
[LLVMdev] A potential bug
...%tv_sec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 0, >> >> i32 >> >> 0 >> >> 12.  %tv_sec.safe_r = call i32* @llvm.guard.load.p0i32(i32* %tv_sec) >> >> // >> >> intrinsic  function call inserted by me >> >> 13.  %tmp15 = load i32* %tv_sec.safe_r, align 4, !tbaa >> >> !4                     // this loads the value stored at line 6 >> >> 14.  %tv_usec = getelementptr inbounds %struct.timeval* %agg.tmp, i32 >> >> 0, i32 >> >> 1 >> >> 15.  %tv_usec.safe_r =...
2010 Sep 29
3
[LLVMdev] spilling & xmm register usage
Hello everybody, I have stumbled upon a test case (the attached module is a slightly reduced version) that shows extremely reduced performance on linux compared to windows when executed using LLVM's JIT. We narrowed the problem down to the actual code being generated, the source IR on both systems is the same. Try compiling the attached module: llc -O3 -filetype=asm -o BAD.s BAD.ll Under