Displaying 4 results from an estimated 4 matches for "stackarray".
2012 Mar 12
3
[LLVMdev] scalarrepl fails to promote array of vector
Hi Chris,
Thanks for your reply.
You said that scalarRepl gets shy about loads and stores of the entire
aggregate. Then I use a test case:
; ModuleID = 'test1.ll'
define i32 @fun(i32* nocapture %X, i32 %i) nounwind uwtable readonly {
%stackArray = alloca <4 x i32>
%XC = bitcast i32* %X to <4 x i32>*
%arrayVal = load <4 x i32>* %XC
store <4 x i32> %arrayVal, <4 x i32>* %stackArray
%arrayVal1 = load <4 x i32>* %stackArray
%1 = extractelement <4 x i32> %arrayVal1, i32 1
ret i32 %1
}
$ opt...
2012 Mar 12
0
[LLVMdev] scalarrepl fails to promote array of vector
Hi Fan,
> You said that scalarRepl gets shy about loads and stores of the entire
> aggregate. Then I use a test case:
>
> ; ModuleID = 'test1.ll'
> define i32 @fun(i32* nocapture %X, i32 %i) nounwind uwtable readonly {
> %stackArray = alloca <4 x i32>
> %XC = bitcast i32* %X to <4 x i32>*
> %arrayVal = load <4 x i32>* %XC
> store <4 x i32> %arrayVal, <4 x i32>* %stackArray
> %arrayVal1 = load <4 x i32>* %stackArray
> %1 = extractelement <4 x i32> %arrayVal...
2012 Mar 10
0
[LLVMdev] scalarrepl fails to promote array of vector
On Mar 10, 2012, at 9:34 AM, Fan Dawei wrote:
> Hi all,
>
> I want to use scalarrepl pass to eliminate the allocation of mat_alloc which is of type [4 x <4 x float>] in the following program.
>
> $cat test.ll
>
> ; ModuleID = 'test.ll'
>
> define void @main(<4 x float>* %inArg, <4 x float>* %outArg, [4 x <4 x float>]* %constants)
2012 Mar 10
2
[LLVMdev] scalarrepl fails to promote array of vector
Hi all,
I want to use scalarrepl pass to eliminate the allocation of mat_alloc
which is of type [4 x <4 x float>] in the following program.
$cat test.ll
; ModuleID = 'test.ll'
define void @main(<4 x float>* %inArg, <4 x float>* %outArg, [4 x <4 x
float>]* %constants) nounwind {
entry:
%inArg1 = load <4 x float>* %inArg
%mat_alloc = alloca [4 x <4 x