@@ -46,9 +46,9 @@ for.end:
46
46
; CHECK: LV: Found uniform instruction: %tmp1 = getelementptr inbounds i32, ptr %a, i64 %i
47
47
; CHECK: vector.body
48
48
; CHECK: %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
49
- ; CHECK: %offset.idx = sub i64 %n, %index
49
+ ; CHECK: [[OFFSET_IDX:%.+]] = sub i64 %n, %index
50
50
; CHECK-NOT: getelementptr
51
- ; CHECK: %[[G0:.+]] = getelementptr inbounds i32, ptr %a, i64 %offset.idx
51
+ ; CHECK: %[[G0:.+]] = getelementptr inbounds i32, ptr %a, i64 [[OFFSET_IDX]]
52
52
; CHECK: getelementptr inbounds i8, ptr %[[G0]], i64 -12
53
53
; CHECK-NOT: getelementptr
54
54
; CHECK: br i1 {{.*}}, label %middle.block, label %vector.body
@@ -141,15 +141,15 @@ for.end:
141
141
; CHECK-NOT: LV: Found uniform instruction: %tmp2 = getelementptr inbounds %pair, ptr %p, i64 %i, i32 1
142
142
; CHECK: vector.body
143
143
; CHECK: %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
144
- ; CHECK: %offset.idx = sub i64 %n, %index
145
- ; CHECK: %[[I1:.+]] = add i64 %offset.idx , -1
146
- ; CHECK: %[[I2:.+]] = add i64 %offset.idx , -2
147
- ; CHECK: %[[I3:.+]] = add i64 %offset.idx , -3
148
- ; CHECK: getelementptr inbounds %pair, ptr %p, i64 %offset.idx , i32 0
144
+ ; CHECK: [[OFFSET_IDX:%.+]] = sub i64 %n, %index
145
+ ; CHECK: %[[I1:.+]] = add i64 [[OFFSET_IDX]] , -1
146
+ ; CHECK: %[[I2:.+]] = add i64 [[OFFSET_IDX]] , -2
147
+ ; CHECK: %[[I3:.+]] = add i64 [[OFFSET_IDX]] , -3
148
+ ; CHECK: getelementptr inbounds %pair, ptr %p, i64 [[OFFSET_IDX]] , i32 0
149
149
; CHECK: getelementptr inbounds %pair, ptr %p, i64 %[[I1]], i32 0
150
150
; CHECK: getelementptr inbounds %pair, ptr %p, i64 %[[I2]], i32 0
151
151
; CHECK: getelementptr inbounds %pair, ptr %p, i64 %[[I3]], i32 0
152
- ; CHECK: getelementptr inbounds %pair, ptr %p, i64 %offset.idx , i32 1
152
+ ; CHECK: getelementptr inbounds %pair, ptr %p, i64 [[OFFSET_IDX]] , i32 1
153
153
; CHECK: getelementptr inbounds %pair, ptr %p, i64 %[[I1]], i32 1
154
154
; CHECK: getelementptr inbounds %pair, ptr %p, i64 %[[I2]], i32 1
155
155
; CHECK: getelementptr inbounds %pair, ptr %p, i64 %[[I3]], i32 1
@@ -159,9 +159,9 @@ for.end:
159
159
; INTER: LV: Found uniform instruction: %tmp2 = getelementptr inbounds %pair, ptr %p, i64 %i, i32 1
160
160
; INTER: vector.body
161
161
; INTER: %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
162
- ; INTER: %offset.idx = sub i64 %n, %index
162
+ ; INTER: [[OFFSET_IDX:%.+]] = sub i64 %n, %index
163
163
; INTER-NOT: getelementptr
164
- ; INTER: %[[G0:.+]] = getelementptr inbounds %pair, ptr %p, i64 %offset.idx , i32 0
164
+ ; INTER: %[[G0:.+]] = getelementptr inbounds %pair, ptr %p, i64 [[OFFSET_IDX]] , i32 0
165
165
; INTER: getelementptr inbounds i8, ptr %[[G0]], i64 -24
166
166
; INTER-NOT: getelementptr
167
167
; INTER: br i1 {{.*}}, label %middle.block, label %vector.body
@@ -315,9 +315,9 @@ for.end:
315
315
; INTER: %[[I2:.+]] = or disjoint i64 %[[I0]], 32
316
316
; INTER: %[[I3:.+]] = or disjoint i64 %[[I0]], 48
317
317
; INTER: %next.gep = getelementptr i8, ptr %a, i64 %[[I0]]
318
- ; INTER: %next.gep1 = getelementptr i8, ptr %a, i64 %[[I1]]
319
- ; INTER: %next.gep2 = getelementptr i8, ptr %a, i64 %[[I2]]
320
- ; INTER: %next.gep3 = getelementptr i8, ptr %a, i64 %[[I3]]
318
+ ; INTER-NEXT: = getelementptr i8, ptr %a, i64 %[[I1]]
319
+ ; INTER-NEXT: = getelementptr i8, ptr %a, i64 %[[I2]]
320
+ ; INTER-NEXT: = getelementptr i8, ptr %a, i64 %[[I3]]
321
321
; INTER: br i1 {{.*}}, label %middle.block, label %vector.body
322
322
;
323
323
define void @pointer_iv_non_uniform_0 (ptr %a , i64 %n ) {
@@ -362,9 +362,9 @@ for.end:
362
362
; CHECK: %[[I2:.+]] = or disjoint i64 [[SHL1]], 32
363
363
; CHECK: %[[I3:.+]] = or disjoint i64 [[SHL1]], 48
364
364
; CHECK: %next.gep = getelementptr i8, ptr %a, i64 [[SHL1]]
365
- ; CHECK: %next.gep1 = getelementptr i8, ptr %a, i64 %[[I1]]
366
- ; CHECK: %next.gep2 = getelementptr i8, ptr %a, i64 %[[I2]]
367
- ; CHECK: %next.gep3 = getelementptr i8, ptr %a, i64 %[[I3]]
365
+ ; CHECK: {{.+}} = getelementptr i8, ptr %a, i64 %[[I1]]
366
+ ; CHECK: {{.+}} = getelementptr i8, ptr %a, i64 %[[I2]]
367
+ ; CHECK: {{.+}} = getelementptr i8, ptr %a, i64 %[[I3]]
368
368
; CHECK: br i1 {{.*}}, label %middle.block, label %vector.body
369
369
;
370
370
define void @pointer_iv_non_uniform_1 (ptr %a , i64 %n ) {
0 commit comments