Displaying 4 results from an estimated 4 matches for "tmp89".
Did you mean:
tmp8
2011 Aug 30
2
[LLVMdev] Getting rid of phi instructions?
...ike this:
void @func() {
entry:
…
bb1:
…
bb2:
…
%tmp100 = phi i32 [ 0, bb1 ], [ 1, bb2 ] …
%tmp101 = getelementptr …, %tmp100
tail call void @anotherfunc(…, %tmp101)
ret void
}
I would like it to rather be something like this:
void @func() {
entry:
…
bb1:
...
%tmp90 = getelementptr …, %tmp89
tail call void @anotherfunc(%tmp90)
ret void
bb2:
…
%tmp101 = getelementptr …, %tmp100
tail call void @anotherfunc(%tmp101)
ret void
}
Best regards,
Teemu
--
Teemu Rinta-aho Tel: +358 9 299 3078
Ericsson Research Mobile: +358 40 562 3066
Oy L M Eri...
2011 Aug 30
0
[LLVMdev] Getting rid of phi instructions?
...; %tmp101 = getelementptr …, %tmp100
> tail call void @anotherfunc(…, %tmp101)
> ret void
> }
>
> I would like it to rather be something like this:
>
> void @func() {
> entry:
> …
> bb1:
> ...
> %tmp90 = getelementptr …, %tmp89
> tail call void @anotherfunc(%tmp90)
> ret void
> bb2:
> …
> %tmp101 = getelementptr …, %tmp100
> tail call void @anotherfunc(%tmp101)
> ret void
> }
reg2mem won't do quite this transformation... not sure exactly what you need....
2010 Sep 29
0
[LLVMdev] spilling & xmm register usage
...201.i, %phi.exit138.i
> %cond.i204.i = phi float [ %tmp43.i200.i, %cond.then.i201.i ], [ %tmp38.i194.i, %phi.exit138.i ]
> %arrayidx82.i = getelementptr float addrspace(1)* %5, i64 %8
> %tmp85.i = fmul float %tmp63.i, %cond.i204.i
> %tmp88.i = fmul float %tmp9.i, %cond.i135.i
> %tmp89.i = fsub float %tmp85.i, %tmp88.i
> store float %tmp89.i, float addrspace(1)* %arrayidx82.i, align 4
> %inc = add i32 %7, 1
> %exitcond = icmp eq i32 %inc, %local_size_0
> br i1 %exitcond, label %exit, label %entry.header.loop
>
> entry.header.loop:...
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