Displaying 3 results from an estimated 3 matches for "l_ci".
2015 Feb 22
2
[LLVMdev] Eliminating redundant loads
...de:
%base = getelementptr inbounds %ravi.CallInfo* %6, i32 0, i32 4, i32 0
%7 = load %ravi.TValue** %base
%8 = bitcast %ravi.TValue* %7 to i8*
%9 = bitcast %ravi.TValue* %5 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %9, i32 16, i32 8, i1 false)
%10 = load %ravi.CallInfo** %L_ci
%base1 = getelementptr inbounds %ravi.CallInfo* %10, i32 0, i32 4, i32 0
%11 = load %ravi.TValue** %base1
%12 = getelementptr inbounds %ravi.TValue* %11, i32 1
%13 = getelementptr inbounds %ravi.TValue* %5, i32 1
%14 = bitcast %ravi.TValue* %12 to i8*
%15 = bitcast %ravi.TValue* %13 to...
2015 Feb 23
2
[LLVMdev] Eliminating redundant loads
...you expect?
>
Hi,
Tried that - no improvement.
Also tried removing the redundant GEP instructions, leaving just the
loads. Here is a dump that shows the output after running the
optimizer passes (this is from the passes in my program not opt -O3;
this version does not use memcpy() either):
%L_ci = getelementptr inbounds %ravi.lua_State* %L, i64 0, i32 6
%0 = load %ravi.CallInfo** %L_ci, align 8
%base = getelementptr inbounds %ravi.CallInfo* %0, i64 0, i32 4, i32 0
%1 = bitcast %ravi.CallInfo* %0 to %ravi.LClosure***
%2 = load %ravi.LClosure*** %1, align 8
%3 = load %ravi.LClosure...
2015 Feb 22
2
[LLVMdev] Eliminating redundant loads
On 22 February 2015 at 20:58, David Jones <djones at xtreme-eda.com> wrote:
> Not sure if this is your problem, but it was mine:
>
> You must create (or obtain) a DataLayout *and install it into the Module*.
>
> It is possible to generate machine code for IR and not install the
> DataLayout into the Module. Rather, the DataLayout is used locally at the
> point where code