Displaying 2 results from an estimated 2 matches for "yfunc".
Did you mean:
func
2011 Jan 12
2
[LLVMdev] Wrong assembly is written for x86_64 target in JIT without optimization?
...my
comment in asm).
Same code on i386 works fine, with and w/out optimization.
My guess is that this is a bug in LLVM.
Yuri
--- llvm ---
%struct.mystruct = type { i32, i8, i8, i8, i8 }
define i32 @xfunc(%struct.mystruct* %a1, %struct.mystruct* %a2) {
br label %lbl1
lbl1:
%v1 = call i32 @yfunc(i32 1, i32 0, i32 0)
%v2 = bitcast %struct.mystruct* %a1 to i8*
%v3 = getelementptr i8* %v2, i32 %v1
%v4 = bitcast i8* %v3 to i32*
%v5 = load i32* %v4
%v6 = call i32 @yfunc(i32 1, i32 4, i32 0)
%v7 = bitcast %struct.mystruct* %a2 to i8*
%v8 = getelementptr i8* %v7, i32 %v6
%...
2011 Jan 12
0
[LLVMdev] Wrong assembly is written for x86_64 target in JIT without optimization?
...ahead of the spill to that slot. Please file a PR. (I can see this on Darwin with llc -O0).
> --- llvm ---
> %struct.mystruct = type { i32, i8, i8, i8, i8 }
>
> define i32 @xfunc(%struct.mystruct* %a1, %struct.mystruct* %a2) {
> br label %lbl1
> lbl1:
> %v1 = call i32 @yfunc(i32 1, i32 0, i32 0)
> %v2 = bitcast %struct.mystruct* %a1 to i8*
> %v3 = getelementptr i8* %v2, i32 %v1
> %v4 = bitcast i8* %v3 to i32*
> %v5 = load i32* %v4
> %v6 = call i32 @yfunc(i32 1, i32 4, i32 0)
> %v7 = bitcast %struct.mystruct* %a2 to i8*
> %v8 = getelem...