Covnert testcases to not use indexed loads/stores

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3458 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2002-08-22 16:39:05 +00:00
parent 0fd5bfd79d
commit ac2cbb847d
2 changed files with 12 additions and 6 deletions

View File

@ -20,7 +20,8 @@ implementation
int "foo"(int %blah)
begin
store int %blah, int *%MyVar
store int 12, { \2 *, int } * %MyIntList, uint 0, ubyte 1
%idx = getelementptr { \2 *, int } * %MyIntList, uint 0, ubyte 1
store int 12, int* %idx
%ack = load int * %0 ;; Load from the unnamed constant
%fzo = add int %ack, %blah

View File

@ -15,7 +15,8 @@ implementation
int "test"([20 x [10 x [5 x int]]] * %A)
begin
%i = load [20 x [10 x [5 x int]]] * %A, uint 1, uint 2, uint 3, uint 4
%idx = getelementptr [20 x [10 x [5 x int]]] * %A, uint 1, uint 2, uint 3, uint 4
%i = load int* %idx
;; same as above but via a GEP
%iptr = getelementptr [20 x [10 x [5 x int]]] * %A, uint 1, uint 2, uint 3, uint 4
@ -37,7 +38,8 @@ bb0: ;[#uses=2]
%reg164-idxcast = cast int %reg112 to uint ; <uint> [#uses=1]
;; Store to a structure field
store sbyte 81, %Mixed_struct * %M, uint 0, ubyte 3, uint %reg164-idxcast, ubyte 0
%idx1 = getelementptr %Mixed_struct * %M, uint 0, ubyte 3, uint %reg164-idxcast, ubyte 0
store sbyte 81, sbyte* %idx1
;; EXPECTED RESULT: decomposed indices for above STORE
;; %ptr1 = getelementptr %Mixed_struct * %M, uint 0, ubyte 3
@ -45,7 +47,8 @@ bb0: ;[#uses=2]
;; store sbyte 81, {sbyte,float}* %ptr2, uint 0, ubyte 0
;; Store to an array field within a structure
store double 2.17, %Mixed_struct * %M, uint 0, ubyte 1, uint %reg164-idxcast
%idx2 = getelementptr %Mixed_struct * %M, uint 0, ubyte 1, uint %reg164-idxcast
store double 2.17, double* %idx2
;; EXPECTED RESULT: decomposed indices for above STORE
;; %ptr1 = getelementptr %Mixed_struct * %M, uint 0, ubyte 1
@ -73,13 +76,15 @@ end
int "ArrayRef"([100 x int] * %Array, uint %I, uint %J)
begin
bb0: ;[#uses=3]
%reg121 = load [100 x int]* %Array, uint %I, uint %J ; <int> [#uses=1]
%idx = getelementptr [100 x int]* %Array, uint %I, uint %J ; <int> [#uses=1]
%reg121 = load int* %idx
ret int %reg121;
end
sbyte "PtrRef"(sbyte** %argv, uint %I, uint %J)
begin
bb0: ;[#uses=3]
%reg222 = load sbyte** %argv, uint %I, uint %J ; <sbyte> [#uses=1]
%idx = getelementptr sbyte** %argv, uint %I, uint %J
%reg222 = load sbyte* %idx
ret sbyte %reg222;
end