Displaying 2 results from an estimated 2 matches for "looparrnext".
2014 Aug 02
2
[LLVMdev] Create "appending" section that can be partially dead stripped
On 01/08/14 19:37, Reid Kleckner wrote:
> What happens if you drop appending linkage? I think it will just work,
> since you are already using a custom section, which will ensure that all
> the data appears contiguously in memory.
Thanks for the suggestion, but it still puts everything in a single
.section statement.
> Although, I do worry about what LLVM's alias analysis will
2014 Aug 05
2
[LLVMdev] Create "appending" section that can be partially dead stripped
...trtoint [0 x i32]* @arrstop to i64
%loopstart = ptrtoint [0 x i32]* @arrstart to i64
%loopcount = sub i64 %loopstop, %loopstart
%looparrinit = bitcast [0 x i32]* @arrstart to i32*
br label %LoopStart
; sum all elements in the array
LoopStart:
%looparr = phi i32* [%looparrinit, %Entry], [%looparrnext, %LoopBody]
%loopcond = icmp eq i64 %loopcount, 0
br i1 %loopcond, label %LoopEnd, label %LoopBody
LoopBody:
%val = load i32* %looparr
%sum2 = load i32* %sumvar
%sum3 = add i32 %val, %sum2
store i32 %sum3, i32* %sumvar
%looparrnext = getelementptr i32* %looparr, i64 1
br label %LoopSt...