Displaying 20 results from an estimated 58 matches for "tmp7".
Did you mean:
tmp
2010 Sep 29
0
[LLVMdev] spilling & xmm register usage
...%entry.header.loop.end ], [ 0, %entry ]
> %global_id_0 = add i32 %7, %6
> %8 = sext i32 %global_id_0 to i64
> %arrayidx.i = getelementptr float addrspace(1)* %1, i64 %8
> %tmp3.i = load float addrspace(1)* %arrayidx.i, align 4
> %tmp5.i = fmul float %tmp3.i, 1.000000e+01
> %tmp7.i = fsub float 1.000000e+00, %tmp3.i
> %tmp8.i = fmul float %tmp7.i, 1.000000e+02
> %tmp9.i = fadd float %tmp5.i, %tmp8.i
> %tmp20.i = fmul float %tmp7.i, 1.000000e+01
> %tmp21.i = fadd float %tmp3.i, %tmp20.i
> %tmp23.i = fmul float %tmp3.i, 0x3F847AE140000000
> %tmp26.i =...
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
2017 Mar 30
2
InstructionSimplify: adding a hook for shufflevector instructions
...out shuffle simplification. This is a testcase from test/Transforms/InstCombine/vec_shuffle.ll:
define <4 x i32> @test10(<4 x i32> %tmp5) nounwind {
%tmp6 = shufflevector <4 x i32> %tmp5, <4 x i32> undef, <4 x i32> <i32 1, i32 undef, i32 undef, i32 undef>
%tmp7 = shufflevector <4 x i32> %tmp6, <4 x i32> undef, <4 x i32> zeroinitializer
ret <4 x i32> %tmp7
}
opt –instcombine will combine to:
define <4 x i32> @test10(<4 x i32> %tmp5) nounwind {
%tmp7 = shufflevector <4 x i32> %tmp5, <4 x i32> undef, <...
2011 Jan 04
2
Print plot to pdf, jpg or any other format when using scatter3d error
...=c(timelineMSEC,X,Y))
userSubset
x<-as.numeric(userSubset$X)
y<-as.numeric(userSubset$Y)
scatter3d(x,y,userSubset$timeline,xlim = c(0,1280), ylim =
c(0,1024),
zlim=c(0,1800000),type="h",main=sessionU01[i,],sub=sessionU01[i,])
tmp6=rep(".ps")
tmp7=paste(sessionU01[i,],tmp6,sep="")
tmp7
rgl.postscript(tmp7,"ps",drawText=FALSE)
#pdf(file=tmp7)
#dev.print(file=tmp7, device=pdf, width=600)
#dev.off(2)
}
2008 May 02
4
[LLVMdev] Pointer sizes, GetElementPtr, and offset sizes
...]* %x, i32 0, i32 1 ;
<i32**> [#uses=1]
%tmp23 = ptrtoint i32** %tmp1 to i32 ; <i32> [#uses=1]
%x45 = ptrtoint [2 x i32*]* %x to i32 ; <i32> [#uses=1]
%tmp6 = sub i32 %tmp23, %x45 ; <i32> [#uses=1]
%tmp7 = ashr i32 %tmp6, 2 ; <i32> [#uses=1]
ret i32 %tmp7
}
The return value is 1. The ashr exposes the pointer size by shifting the 4
byte distance over by 2.
For the analysis that I am doing, it would be nice to have an instruction
that explicitly performs this distance c...
2009 Mar 23
1
using xyplot
...ch=20,col='blue',cex=0.7,xlim=xl,ylim=yl,...)
panel.abline(v=0, col='gray30',lty=2,lwd=1.5,...)
panel.loess(x,y,
span=2/3,family='gaussian',normalize=T,col='red',lwd=1.5,...)
# panel.lmline(x,y, col='red',lwd=1.5,...)
}
nms <- names(tmp7)[c(3:7,9)]
for (i in nms) {
tmp1 <- xyplot(i~pk, data=tmp7, # different y's in the loop; x is same for
all
as.table=T,panel=myPanel,main=paste('PK vs',i,'- overall'))
pdf(paste("pkvs",i,"a.pdf",sep=""),w=10,h=8)
print(tmp1)
dev...
2008 May 02
0
[LLVMdev] Pointer sizes, GetElementPtr, and offset sizes
...[2 x i32*]* %x to i32 ; <i32> [#uses=1]
%tmp6 = sub i32 %tmp23, %x45 ; <i32> [#uses=1]
%size = getelementptr i32** null, i32 1 ; <i32**> [#uses=1]
%sizeI = ptrtoint i32** %size to i32 ; <i32> [#uses=1]
%tmp7 = ashr i32 %tmp6, %sizeI ; <i32> [#uses=1]
ret i32 %tmp7
}
There, pointer size independent. The problem you see is you are using
a frontend targeting a specific platform, so pointersize is known (see
the target datalayout line).
Andrew
2010 Sep 10
1
[LLVMdev] Missing Optimization Opportunities
...2]
%tmp3 = and i32 %tmp, -65536 ; <i32> [#uses=2]
%tmp4 = icmp ne i32 %tmp3, 168296448 ; <i1> [#uses=1]
%tmp5 = and i1 %tmp2, %tmp4 ; <i1> [#uses=1]
%tmp6 = and i32 %tmp, -256 ; <i32> [#uses=2]
%tmp7 = icmp eq i32 %tmp6, 168296704 ; <i1> [#uses=1]
%tmp8 = icmp eq i32 %tmp3, 168296448 ; <i1> [#uses=2]
%tmp9 = icmp ne i32 %tmp6, 168296704 ; <i1> [#uses=1]
%tmp10 = and i1 %tmp8, %tmp9 ; <i1> [#uses=1]
%tmp11 = load...
2007 Jun 12
3
[LLVMdev] ARM backend problem ?
...declare i32 @printf(i8*, ...)
define i32 @main (){
entry:
%n = alloca i32
%f = alloca i32
%i = alloca i32
%zero = alloca i32
%inc = alloca i32
store i32 5, i32* %n
store i32 1, i32* %f
store 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 %t...
2007 Oct 16
1
[LLVMdev] one remaining CellSPU backend bug...
...ull ; <i1> [#uses=1]
br i1 %tmp2, label %UnifiedReturnBlock, label %bb
bb: ; preds = %entry
%tmp5 = tail call void (i8*)* (void (i8*)*)* asm "", "=r,0"( void
(i8*)* @_Jv_RegisterClasses ) ; <void (i8*)*> [#uses=2]
%tmp7 = icmp eq void (i8*)* %tmp5, null ; <i1> [#uses=1]
br i1 %tmp7, label %UnifiedReturnBlock, label %bb10
bb10: ; preds = %bb
tail call void %tmp5( i8* bitcast ([0 x i8*]* @__JCR_LIST__ to i8*)
)
ret void
UnifiedReturnBlock: ; preds = %bb,...
2013 Oct 27
2
[LLVMdev] Missed optimization opportunity with piecewise load shift-or'd together?
...tion Attrs: nounwind readonly
define i32 @get32Bits(i8* inreg nocapture readonly %x_arg) #0 {
%tmp1 = getelementptr inbounds i8* %x_arg, i64 3
%tmp2 = load i8* %tmp1, align 1
%tmp3 = zext i8 %tmp2 to i32
%tmp4 = shl nuw nsw i32 %tmp3, 24
%tmp6 = 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...
2008 Jan 06
4
[LLVMdev] Another memory fun
...ts as:
%str1 = alloca [8 x i8], align 16 ; <[8 x i8]*> [#uses=9]
%tmp1 = getelementptr [8 x i8]* %str1, i32 0, i32 0 ; <i8*> [#uses=2]
store i8 109, i8* %tmp1, align 16
%tmp4 = getelementptr [8 x i8]* %str1, i32 0, i32 1 ; <i8*> [#uses=1]
store i8 111, i8* %tmp4, align 1
%tmp7 = getelementptr [8 x i8]* %str1, i32 0, i32 2 ; <i8*> [#uses=1]
store i8 116, i8* %tmp7, align 1
%tmp10 = getelementptr [8 x i8]* %str1, i32 0, i32 3 ; <i8*> [#uses=1]
store i8 104, i8* %tmp10, align 1
%tmp13 = getelementptr [8 x i8]* %str1, i32 0, i32 4 ; <i8*> [#uses=1]...
2017 Mar 30
2
InstructionSimplify: adding a hook for shufflevector instructions
As Sanjay noted in D31426<https://reviews.llvm.org/D31426#712701>, InstructionSimplify is missing the following simplification:
This function:
define <4 x i32> @splat_operand(<4 x i32> %x) {
%splat = shufflevector <4 x i32> %x, <4 x i32> undef, <4 x i32> zeroinitializer
%shuf = shufflevector <4 x i32> %splat, <4 x i32> undef, <4 x i32>
2011 Jan 04
0
Error in M[, 1] : incorrect number of dimensions when trying to plot hexbin
...- dbConnect(MySQL(),
user='root',dbname='test',host='localhost',password='')
listUser <- dbSendQuery(mycon, "select distinct userID from ulogdata")
userList <- fetch(listUser, n= -1)
par(mfrow=c(5,3))
tmp6=rep("UserScatterActionRegion.pdf")
tmp7=paste(tmp6,sep="")
tmp7
#pdf(tmp7)
jpeg(file="UserScatterActionRegion.jpeg")
for (i in 1:20){
x<-subset(user01 ,userID == userList[i,],select=c(X,Y))
x
bin<-hexbin(x$X, x$Y, xbins=100)
part1=rep("Action Regions")
nameFull=paste(userList[...
2012 Feb 27
2
[LLVMdev] Alias in LLVM 3.0
...I422"))) float2 shuffle(float2, uint2);
In LLVM 2.9 and LLVM 3.0, our front-end generates:
@__shuffle_2f32_2u32 = alias weak <2 x i32> (<2 x i32>, <2 x i32>)* @4
And the calls, before linking, look like:
%call9 = call <2 x float> @__shuffle_2f32_2u32(<2 x float> %tmp7, <2 x i32> %tmp8) nounwind
After linking with LLVM 3.0, the call looks like:
%call9 = call <2 x float> bitcast (<2 x i32> (<2 x i32>, <2 x i32>)* @__shuffle_2f32_2u32 to <2 x float> (<2 x float>, <2 x i32>)*)(<2 x float> %tmp7, <2 x i32> %...
2007 Jun 12
0
[LLVMdev] ARM backend problem ?
...%f = alloca i32
>
> %i = alloca i32
>
> %zero = alloca i32
>
> %inc = alloca i32
>
> store i32 5, i32* %n
>
> store i32 1, i32* %f
>
> store 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...
2008 Jan 04
0
[LLVMdev] Extraction of Arguments Passed to a Function
...created
for different basic block are independent from each other, for example in
the following IR the temp variables used in the basic block bb: i.e. %tmp,
%tmp1, %tmp2 are only dependent on the variables defined in the entry: basic
block, and same holds for basic block bb5: i.e. variables %tmp6, %tmp7,
%tmp8 etc are only dependent on the variables in the entry block
(%limit_addr, %i.. etc) and the temp variables defined in the same basic
block.
Is this true ?, as far as i have seen, by generating the bitcode for various
test codes, and it holds true for all. So, now the proposition is, that one...
2008 Dec 09
1
[LLVMdev] scalar-evolution + indvars fail to get the loop trip count?
...32 %x, i32 %y, i32* %lam, i32* %alp) nounwind {
entry:
br label %bb
bb: ; preds = %bb, %entry
%indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb ] ;
<i32> [#uses=4]
%i.0.reg2mem.0 = sub i32 255, %indvar ; <i32> [#uses=2]
%tmp7 = getelementptr i32* %alp, i32 %i.0.reg2mem.0 ;
<i32*> [#uses=1]
%tmp8 = load i32* %tmp7, align 4 ; <i32> [#uses=1]
%tmp11 = getelementptr i32* %lam, i32 %i.0.reg2mem.0 ;
<i32*> [#uses=1]
store i32 %tmp8, i32* %tmp11, a...
2010 Nov 23
1
[LLVMdev] Unrolling loops into constant-time expressions
...}
return ret;
}
generates:
define i32 @loop(i32 %x) nounwind readnone {
%1 = icmp sgt i32 %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
%tm...
2011 Jul 27
3
[LLVMdev] scalar evolution to determine access functions in arays
...n A[2*i + j - 10]= .. always accesses memory using a function f(i,j) = 2*i + j - 10 + base_address_of_A
If I run the scalar evolution pass on this code I obtain:
%arrayidx = getelementptr inbounds [200 x i32]* @main.A, i32 0, i64 %idxprom
--> ((4 * (sext i32 (-10 + (2 * %tmp6) + %tmp7) to i64)) + @main.A)
Could you please offer an insight on how can I obtain the function from the internals of the scalar evolution pass?
Thank you.
Alexandra
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/atta...