@@ -24,31 +24,31 @@ target datalayout = "e-p:128:128:128-p1:32:32:32-p2:8:8:8-p3:16:16:16-p4:64:64:6
2424; The target-independent folder should be able to do some clever
2525; simplifications on sizeof, alignof, and offsetof expressions. The
2626; target-dependent folder should fold these down to constants.
27- ; PLAIN-X : @a = constant i64 mul (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 2310)
27+ ; PLAIN: @a = constant i64 mul (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 2310)
2828@a = constant i64 mul (i64 3 , i64 mul (i64 ptrtoint (ptr addrspace (4 ) getelementptr ({[7 x double ], [7 x double ]}, ptr addrspace (4 ) null , i64 11 ) to i64 ), i64 5 ))
2929
30- ; PLAIN-X : @b = constant i64 ptrtoint (ptr addrspace(4) getelementptr ({ i1, double }, ptr null, i64 0, i32 1) to i64)
30+ ; PLAIN: @b = constant i64 ptrtoint (ptr addrspace(4) getelementptr ({ i1, double }, ptr null, i64 0, i32 1) to i64)
3131@b = constant i64 ptrtoint (ptr addrspace (4 ) getelementptr ({i1 , [13 x double ]}, ptr addrspace (4 ) null , i64 0 , i32 1 ) to i64 )
3232
33- ; PLAIN-X : @c = constant i64 mul nuw (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 2)
33+ ; PLAIN: @c = constant i64 mul nuw (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 2)
3434@c = constant i64 ptrtoint (ptr addrspace (4 ) getelementptr ({double , double , double , double }, ptr addrspace (4 ) null , i64 0 , i32 2 ) to i64 )
3535
36- ; PLAIN-X : @d = constant i64 mul nuw (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 11)
36+ ; PLAIN: @d = constant i64 mul nuw (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 11)
3737@d = constant i64 ptrtoint (ptr addrspace (4 ) getelementptr ([13 x double ], ptr addrspace (4 ) null , i64 0 , i32 11 ) to i64 )
3838
39- ; PLAIN-X : @e = constant i64 ptrtoint (ptr addrspace(4) getelementptr ({ double, float, double, double }, ptr null, i64 0, i32 2) to i64)
39+ ; PLAIN: @e = constant i64 ptrtoint (ptr addrspace(4) getelementptr ({ double, float, double, double }, ptr null, i64 0, i32 2) to i64)
4040@e = constant i64 ptrtoint (ptr addrspace (4 ) getelementptr ({double , float , double , double }, ptr addrspace (4 ) null , i64 0 , i32 2 ) to i64 )
4141
42- ; PLAIN-X : @f = constant i64 1
42+ ; PLAIN: @f = constant i64 1
4343@f = constant i64 ptrtoint (ptr addrspace (4 ) getelementptr ({i1 , <{ i16 , i128 }>}, ptr addrspace (4 ) null , i64 0 , i32 1 ) to i64 )
4444
45- ; PLAIN-X : @g = constant i64 ptrtoint (ptr addrspace(4) getelementptr ({ i1, double }, ptr null, i64 0, i32 1) to i64)
45+ ; PLAIN: @g = constant i64 ptrtoint (ptr addrspace(4) getelementptr ({ i1, double }, ptr null, i64 0, i32 1) to i64)
4646@g = constant i64 ptrtoint (ptr addrspace (4 ) getelementptr ({i1 , {double , double }}, ptr addrspace (4 ) null , i64 0 , i32 1 ) to i64 )
4747
48- ; PLAIN-X : @h = constant i64 ptrtoint (ptr addrspace(2) getelementptr (i1, ptr addrspace(2) null, i32 1) to i64)
48+ ; PLAIN: @h = constant i64 ptrtoint (ptr addrspace(2) getelementptr (i1, ptr addrspace(2) null, i32 1) to i64)
4949@h = constant i64 ptrtoint (ptr addrspace (4 ) getelementptr (double , ptr addrspace (4 ) null , i64 1 ) to i64 )
5050
51- ; PLAIN-X : @i = constant i64 ptrtoint (ptr addrspace(2) getelementptr ({ i1, ptr addrspace(2) }, ptr null, i64 0, i32 1) to i64)
51+ ; PLAIN: @i = constant i64 ptrtoint (ptr addrspace(2) getelementptr ({ i1, ptr addrspace(2) }, ptr null, i64 0, i32 1) to i64)
5252@i = constant i64 ptrtoint (ptr addrspace (4 ) getelementptr ({i1 , double }, ptr addrspace (4 ) null , i64 0 , i32 1 ) to i64 )
5353
5454; The target-dependent folder should cast GEP indices to integer-sized pointers.
@@ -63,11 +63,11 @@ target datalayout = "e-p:128:128:128-p1:32:32:32-p2:8:8:8-p3:16:16:16-p4:64:64:6
6363
6464; Fold GEP of a GEP. Very simple cases are folded.
6565
66- ; PLAIN-X : @Y = global ptraddrspace(3) getelementptr inbounds ([3 x { i32, i32 }], ptraddrspace(3) @ext, i64 2)
66+ ; PLAIN: @Y = global ptraddrspace(3) getelementptr inbounds ([3 x { i32, i32 }], ptraddrspace(3) @ext, i64 2)
6767@ext = external addrspace (3 ) global [3 x { i32 , i32 }]
6868@Y = global ptr addrspace (3 ) getelementptr inbounds ([3 x { i32 , i32 }], ptr addrspace (3 ) getelementptr inbounds ([3 x { i32 , i32 }], ptr addrspace (3 ) @ext , i64 1 ), i64 1 )
6969
70- ; PLAIN-X : @Z = global ptraddrspace(3) getelementptr inbounds (i32, ptr addrspace(3) getelementptr inbounds ([3 x { i32, i32 }], ptr addrspace(3) @ext, i64 0, i64 1, i32 0), i64 1)
70+ ; PLAIN: @Z = global ptraddrspace(3) getelementptr inbounds (i32, ptr addrspace(3) getelementptr inbounds ([3 x { i32, i32 }], ptr addrspace(3) @ext, i64 0, i64 1, i32 0), i64 1)
7171@Z = global ptr addrspace (3 ) getelementptr inbounds (i32 , ptr addrspace (3 ) getelementptr inbounds ([3 x { i32 , i32 }], ptr addrspace (3 ) @ext , i64 0 , i64 1 , i32 0 ), i64 1 )
7272
7373
@@ -123,42 +123,42 @@ define ptr addrspace(2) @hoo1() #0 {
123123 ret ptr addrspace (2 ) %t
124124}
125125
126- ; PLAIN-X : define i64 @fa() #0 {
127- ; PLAIN-X : %t = bitcast i64 mul (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 2310) to i64
128- ; PLAIN-X : ret i64 %t
129- ; PLAIN-X : }
130- ; PLAIN-X : define i64 @fb() #0 {
131- ; PLAIN-X : %t = bitcast i64 ptrtoint (ptr addrspace(4) getelementptr ({ i1, double }, ptr null, i64 0, i32 1) to i64) to i64
132- ; PLAIN-X : ret i64 %t
133- ; PLAIN-X : }
134- ; PLAIN-X : define i64 @fc() #0 {
135- ; PLAIN-X : %t = bitcast i64 mul nuw (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 2) to i64
136- ; PLAIN-X : ret i64 %t
137- ; PLAIN-X : }
138- ; PLAIN-X : define i64 @fd() #0 {
139- ; PLAIN-X : %t = bitcast i64 mul nuw (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 11) to i64
140- ; PLAIN-X : ret i64 %t
141- ; PLAIN-X : }
142- ; PLAIN-X : define i64 @fe() #0 {
143- ; PLAIN-X : %t = bitcast i64 ptrtoint (ptr addrspace(4) getelementptr ({ double, float, double, double }, ptr null, i64 0, i32 2) to i64) to i64
144- ; PLAIN-X : ret i64 %t
145- ; PLAIN-X : }
146- ; PLAIN-X : define i64 @ff() #0 {
147- ; PLAIN-X : %t = bitcast i64 1 to i64
148- ; PLAIN-X : ret i64 %t
149- ; PLAIN-X : }
150- ; PLAIN-X : define i64 @fg() #0 {
151- ; PLAIN-X : %t = bitcast i64 ptrtoint (ptr addrspace(4) getelementptr ({ i1, double }, ptr null, i64 0, i32 1) to i64) to i64
152- ; PLAIN-X : ret i64 %t
153- ; PLAIN-X : }
154- ; PLAIN-X : define i64 @fh() #0 {
155- ; PLAIN-X : %t = bitcast i64 ptrtoint (ptr addrspace(2) getelementptr (i1, ptr addrspace(2) null, i32 1) to i64) to i64
156- ; PLAIN-X : ret i64 %t
157- ; PLAIN-X : }
158- ; PLAIN-X : define i64 @fi() #0 {
159- ; PLAIN-X : %t = bitcast i64 ptrtoint (ptr addrspace(2) getelementptr ({ i1, ptr addrspace(2) }, ptr null, i64 0, i32 1) to i64) to i64
160- ; PLAIN-X : ret i64 %t
161- ; PLAIN-X : }
126+ ; PLAIN: define i64 @fa() #0 {
127+ ; PLAIN: %t = bitcast i64 mul (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 2310) to i64
128+ ; PLAIN: ret i64 %t
129+ ; PLAIN: }
130+ ; PLAIN: define i64 @fb() #0 {
131+ ; PLAIN: %t = bitcast i64 ptrtoint (ptr addrspace(4) getelementptr ({ i1, double }, ptr null, i64 0, i32 1) to i64) to i64
132+ ; PLAIN: ret i64 %t
133+ ; PLAIN: }
134+ ; PLAIN: define i64 @fc() #0 {
135+ ; PLAIN: %t = bitcast i64 mul nuw (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 2) to i64
136+ ; PLAIN: ret i64 %t
137+ ; PLAIN: }
138+ ; PLAIN: define i64 @fd() #0 {
139+ ; PLAIN: %t = bitcast i64 mul nuw (i64 ptrtoint (ptr addrspace(4) getelementptr (double, ptr addrspace(4) null, i32 1) to i64), i64 11) to i64
140+ ; PLAIN: ret i64 %t
141+ ; PLAIN: }
142+ ; PLAIN: define i64 @fe() #0 {
143+ ; PLAIN: %t = bitcast i64 ptrtoint (ptr addrspace(4) getelementptr ({ double, float, double, double }, ptr null, i64 0, i32 2) to i64) to i64
144+ ; PLAIN: ret i64 %t
145+ ; PLAIN: }
146+ ; PLAIN: define i64 @ff() #0 {
147+ ; PLAIN: %t = bitcast i64 1 to i64
148+ ; PLAIN: ret i64 %t
149+ ; PLAIN: }
150+ ; PLAIN: define i64 @fg() #0 {
151+ ; PLAIN: %t = bitcast i64 ptrtoint (ptr addrspace(4) getelementptr ({ i1, double }, ptr null, i64 0, i32 1) to i64) to i64
152+ ; PLAIN: ret i64 %t
153+ ; PLAIN: }
154+ ; PLAIN: define i64 @fh() #0 {
155+ ; PLAIN: %t = bitcast i64 ptrtoint (ptr addrspace(2) getelementptr (i1, ptr addrspace(2) null, i32 1) to i64) to i64
156+ ; PLAIN: ret i64 %t
157+ ; PLAIN: }
158+ ; PLAIN: define i64 @fi() #0 {
159+ ; PLAIN: %t = bitcast i64 ptrtoint (ptr addrspace(2) getelementptr ({ i1, ptr addrspace(2) }, ptr null, i64 0, i32 1) to i64) to i64
160+ ; PLAIN: ret i64 %t
161+ ; PLAIN: }
162162define i64 @fa () #0 {
163163 %t = bitcast i64 mul (i64 3 , i64 mul (i64 ptrtoint (ptr getelementptr ({[7 x double ], [7 x double ]}, ptr null , i64 11 ) to i64 ), i64 5 )) to i64
164164 ret i64 %t
0 commit comments