@@ -43,17 +43,17 @@ define void @test_load_store_i32(ptr %a, ptr %b) sanitize_memory {
43
43
; ORIGIN-NEXT: br i1 [[_MSCMP]], label [[TMP14:%.*]], label [[TMP21:%.*]], !prof [[PROF0:![0-9]+]]
44
44
; ORIGIN: 14:
45
45
; ORIGIN-NEXT: [[TMP15:%.*]] = call i32 @__msan_chain_origin(i32 [[TMP7]])
46
- ; ORIGIN-NEXT: [[TMP16:%.*]] = call i32 @llvm.vscale.i32 ()
47
- ; ORIGIN-NEXT: [[TMP17:%.*]] = mul i32 [[TMP16]], 16
48
- ; ORIGIN-NEXT: [[TMP18:%.*]] = add i32 [[TMP17]], 3
49
- ; ORIGIN-NEXT: [[TMP19:%.*]] = udiv i32 [[TMP18]], 4
46
+ ; ORIGIN-NEXT: [[TMP16:%.*]] = call i64 @llvm.vscale.i64 ()
47
+ ; ORIGIN-NEXT: [[TMP17:%.*]] = mul i64 [[TMP16]], 16
48
+ ; ORIGIN-NEXT: [[TMP18:%.*]] = add i64 [[TMP17]], 3
49
+ ; ORIGIN-NEXT: [[TMP19:%.*]] = udiv i64 [[TMP18]], 4
50
50
; ORIGIN-NEXT: br label [[DOTSPLIT:%.*]]
51
51
; ORIGIN: .split:
52
- ; ORIGIN-NEXT: [[IV:%.*]] = phi i32 [ 0, [[TMP14]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
53
- ; ORIGIN-NEXT: [[TMP20:%.*]] = getelementptr i32, ptr [[TMP12]], i32 [[IV]]
52
+ ; ORIGIN-NEXT: [[IV:%.*]] = phi i64 [ 0, [[TMP14]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
53
+ ; ORIGIN-NEXT: [[TMP20:%.*]] = getelementptr i32, ptr [[TMP12]], i64 [[IV]]
54
54
; ORIGIN-NEXT: store i32 [[TMP15]], ptr [[TMP20]], align 4
55
- ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i32 [[IV]], 1
56
- ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i32 [[IV_NEXT]], [[TMP19]]
55
+ ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
56
+ ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i64 [[IV_NEXT]], [[TMP19]]
57
57
; ORIGIN-NEXT: br i1 [[IV_CHECK]], label [[DOTSPLIT_SPLIT:%.*]], label [[DOTSPLIT]]
58
58
; ORIGIN: .split.split:
59
59
; ORIGIN-NEXT: br label [[TMP21]]
@@ -124,17 +124,17 @@ define void @test_load_store_add_int(ptr %a, ptr %b) sanitize_memory {
124
124
; ORIGIN-NEXT: br i1 [[_MSCMP]], label [[TMP25:%.*]], label [[TMP32:%.*]], !prof [[PROF0]]
125
125
; ORIGIN: 25:
126
126
; ORIGIN-NEXT: [[TMP26:%.*]] = call i32 @__msan_chain_origin(i32 [[TMP14]])
127
- ; ORIGIN-NEXT: [[TMP27:%.*]] = call i32 @llvm.vscale.i32 ()
128
- ; ORIGIN-NEXT: [[TMP28:%.*]] = mul i32 [[TMP27]], 64
129
- ; ORIGIN-NEXT: [[TMP29:%.*]] = add i32 [[TMP28]], 3
130
- ; ORIGIN-NEXT: [[TMP30:%.*]] = udiv i32 [[TMP29]], 4
127
+ ; ORIGIN-NEXT: [[TMP27:%.*]] = call i64 @llvm.vscale.i64 ()
128
+ ; ORIGIN-NEXT: [[TMP28:%.*]] = mul i64 [[TMP27]], 64
129
+ ; ORIGIN-NEXT: [[TMP29:%.*]] = add i64 [[TMP28]], 3
130
+ ; ORIGIN-NEXT: [[TMP30:%.*]] = udiv i64 [[TMP29]], 4
131
131
; ORIGIN-NEXT: br label [[DOTSPLIT:%.*]]
132
132
; ORIGIN: .split:
133
- ; ORIGIN-NEXT: [[IV:%.*]] = phi i32 [ 0, [[TMP25]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
134
- ; ORIGIN-NEXT: [[TMP31:%.*]] = getelementptr i32, ptr [[TMP23]], i32 [[IV]]
133
+ ; ORIGIN-NEXT: [[IV:%.*]] = phi i64 [ 0, [[TMP25]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
134
+ ; ORIGIN-NEXT: [[TMP31:%.*]] = getelementptr i32, ptr [[TMP23]], i64 [[IV]]
135
135
; ORIGIN-NEXT: store i32 [[TMP26]], ptr [[TMP31]], align 4
136
- ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i32 [[IV]], 1
137
- ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i32 [[IV_NEXT]], [[TMP30]]
136
+ ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
137
+ ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i64 [[IV_NEXT]], [[TMP30]]
138
138
; ORIGIN-NEXT: br i1 [[IV_CHECK]], label [[DOTSPLIT_SPLIT:%.*]], label [[DOTSPLIT]]
139
139
; ORIGIN: .split.split:
140
140
; ORIGIN-NEXT: br label [[TMP32]]
@@ -187,17 +187,17 @@ define void @test_load_store_float(ptr %a, ptr %b) sanitize_memory {
187
187
; ORIGIN-NEXT: br i1 [[_MSCMP]], label [[TMP14:%.*]], label [[TMP21:%.*]], !prof [[PROF0]]
188
188
; ORIGIN: 14:
189
189
; ORIGIN-NEXT: [[TMP15:%.*]] = call i32 @__msan_chain_origin(i32 [[TMP7]])
190
- ; ORIGIN-NEXT: [[TMP16:%.*]] = call i32 @llvm.vscale.i32 ()
191
- ; ORIGIN-NEXT: [[TMP17:%.*]] = mul i32 [[TMP16]], 16
192
- ; ORIGIN-NEXT: [[TMP18:%.*]] = add i32 [[TMP17]], 3
193
- ; ORIGIN-NEXT: [[TMP19:%.*]] = udiv i32 [[TMP18]], 4
190
+ ; ORIGIN-NEXT: [[TMP16:%.*]] = call i64 @llvm.vscale.i64 ()
191
+ ; ORIGIN-NEXT: [[TMP17:%.*]] = mul i64 [[TMP16]], 16
192
+ ; ORIGIN-NEXT: [[TMP18:%.*]] = add i64 [[TMP17]], 3
193
+ ; ORIGIN-NEXT: [[TMP19:%.*]] = udiv i64 [[TMP18]], 4
194
194
; ORIGIN-NEXT: br label [[DOTSPLIT:%.*]]
195
195
; ORIGIN: .split:
196
- ; ORIGIN-NEXT: [[IV:%.*]] = phi i32 [ 0, [[TMP14]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
197
- ; ORIGIN-NEXT: [[TMP20:%.*]] = getelementptr i32, ptr [[TMP12]], i32 [[IV]]
196
+ ; ORIGIN-NEXT: [[IV:%.*]] = phi i64 [ 0, [[TMP14]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
197
+ ; ORIGIN-NEXT: [[TMP20:%.*]] = getelementptr i32, ptr [[TMP12]], i64 [[IV]]
198
198
; ORIGIN-NEXT: store i32 [[TMP15]], ptr [[TMP20]], align 4
199
- ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i32 [[IV]], 1
200
- ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i32 [[IV_NEXT]], [[TMP19]]
199
+ ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
200
+ ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i64 [[IV_NEXT]], [[TMP19]]
201
201
; ORIGIN-NEXT: br i1 [[IV_CHECK]], label [[DOTSPLIT_SPLIT:%.*]], label [[DOTSPLIT]]
202
202
; ORIGIN: .split.split:
203
203
; ORIGIN-NEXT: br label [[TMP21]]
@@ -268,17 +268,17 @@ define void @test_load_store_add_float(ptr %a, ptr %b) sanitize_memory {
268
268
; ORIGIN-NEXT: br i1 [[_MSCMP]], label [[TMP25:%.*]], label [[TMP32:%.*]], !prof [[PROF0]]
269
269
; ORIGIN: 25:
270
270
; ORIGIN-NEXT: [[TMP26:%.*]] = call i32 @__msan_chain_origin(i32 [[TMP14]])
271
- ; ORIGIN-NEXT: [[TMP27:%.*]] = call i32 @llvm.vscale.i32 ()
272
- ; ORIGIN-NEXT: [[TMP28:%.*]] = mul i32 [[TMP27]], 8
273
- ; ORIGIN-NEXT: [[TMP29:%.*]] = add i32 [[TMP28]], 3
274
- ; ORIGIN-NEXT: [[TMP30:%.*]] = udiv i32 [[TMP29]], 4
271
+ ; ORIGIN-NEXT: [[TMP27:%.*]] = call i64 @llvm.vscale.i64 ()
272
+ ; ORIGIN-NEXT: [[TMP28:%.*]] = mul i64 [[TMP27]], 8
273
+ ; ORIGIN-NEXT: [[TMP29:%.*]] = add i64 [[TMP28]], 3
274
+ ; ORIGIN-NEXT: [[TMP30:%.*]] = udiv i64 [[TMP29]], 4
275
275
; ORIGIN-NEXT: br label [[DOTSPLIT:%.*]]
276
276
; ORIGIN: .split:
277
- ; ORIGIN-NEXT: [[IV:%.*]] = phi i32 [ 0, [[TMP25]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
278
- ; ORIGIN-NEXT: [[TMP31:%.*]] = getelementptr i32, ptr [[TMP23]], i32 [[IV]]
277
+ ; ORIGIN-NEXT: [[IV:%.*]] = phi i64 [ 0, [[TMP25]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
278
+ ; ORIGIN-NEXT: [[TMP31:%.*]] = getelementptr i32, ptr [[TMP23]], i64 [[IV]]
279
279
; ORIGIN-NEXT: store i32 [[TMP26]], ptr [[TMP31]], align 4
280
- ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i32 [[IV]], 1
281
- ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i32 [[IV_NEXT]], [[TMP30]]
280
+ ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
281
+ ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i64 [[IV_NEXT]], [[TMP30]]
282
282
; ORIGIN-NEXT: br i1 [[IV_CHECK]], label [[DOTSPLIT_SPLIT:%.*]], label [[DOTSPLIT]]
283
283
; ORIGIN: .split.split:
284
284
; ORIGIN-NEXT: br label [[TMP32]]
@@ -362,17 +362,17 @@ define void @test_ret(ptr %a, ptr %b) sanitize_memory {
362
362
; ORIGIN-NEXT: br i1 [[_MSCMP]], label [[TMP11:%.*]], label [[TMP18:%.*]], !prof [[PROF0]]
363
363
; ORIGIN: 11:
364
364
; ORIGIN-NEXT: [[TMP12:%.*]] = call i32 @__msan_chain_origin(i32 [[TMP4]])
365
- ; ORIGIN-NEXT: [[TMP13:%.*]] = call i32 @llvm.vscale.i32 ()
366
- ; ORIGIN-NEXT: [[TMP14:%.*]] = mul i32 [[TMP13]], 8
367
- ; ORIGIN-NEXT: [[TMP15:%.*]] = add i32 [[TMP14]], 3
368
- ; ORIGIN-NEXT: [[TMP16:%.*]] = udiv i32 [[TMP15]], 4
365
+ ; ORIGIN-NEXT: [[TMP13:%.*]] = call i64 @llvm.vscale.i64 ()
366
+ ; ORIGIN-NEXT: [[TMP14:%.*]] = mul i64 [[TMP13]], 8
367
+ ; ORIGIN-NEXT: [[TMP15:%.*]] = add i64 [[TMP14]], 3
368
+ ; ORIGIN-NEXT: [[TMP16:%.*]] = udiv i64 [[TMP15]], 4
369
369
; ORIGIN-NEXT: br label [[DOTSPLIT:%.*]]
370
370
; ORIGIN: .split:
371
- ; ORIGIN-NEXT: [[IV:%.*]] = phi i32 [ 0, [[TMP11]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
372
- ; ORIGIN-NEXT: [[TMP17:%.*]] = getelementptr i32, ptr [[TMP9]], i32 [[IV]]
371
+ ; ORIGIN-NEXT: [[IV:%.*]] = phi i64 [ 0, [[TMP11]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
372
+ ; ORIGIN-NEXT: [[TMP17:%.*]] = getelementptr i32, ptr [[TMP9]], i64 [[IV]]
373
373
; ORIGIN-NEXT: store i32 [[TMP12]], ptr [[TMP17]], align 4
374
- ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i32 [[IV]], 1
375
- ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i32 [[IV_NEXT]], [[TMP16]]
374
+ ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
375
+ ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i64 [[IV_NEXT]], [[TMP16]]
376
376
; ORIGIN-NEXT: br i1 [[IV_CHECK]], label [[DOTSPLIT_SPLIT:%.*]], label [[DOTSPLIT]]
377
377
; ORIGIN: .split.split:
378
378
; ORIGIN-NEXT: br label [[TMP18]]
@@ -410,17 +410,17 @@ define void @fn_param(<vscale x 2 x float> %a, ptr %b) sanitize_memory {
410
410
; ORIGIN-NEXT: br i1 [[_MSCMP]], label [[TMP7:%.*]], label [[TMP14:%.*]], !prof [[PROF0]]
411
411
; ORIGIN: 7:
412
412
; ORIGIN-NEXT: [[TMP8:%.*]] = call i32 @__msan_chain_origin(i32 0)
413
- ; ORIGIN-NEXT: [[TMP9:%.*]] = call i32 @llvm.vscale.i32 ()
414
- ; ORIGIN-NEXT: [[TMP10:%.*]] = mul i32 [[TMP9]], 8
415
- ; ORIGIN-NEXT: [[TMP11:%.*]] = add i32 [[TMP10]], 3
416
- ; ORIGIN-NEXT: [[TMP12:%.*]] = udiv i32 [[TMP11]], 4
413
+ ; ORIGIN-NEXT: [[TMP9:%.*]] = call i64 @llvm.vscale.i64 ()
414
+ ; ORIGIN-NEXT: [[TMP10:%.*]] = mul i64 [[TMP9]], 8
415
+ ; ORIGIN-NEXT: [[TMP11:%.*]] = add i64 [[TMP10]], 3
416
+ ; ORIGIN-NEXT: [[TMP12:%.*]] = udiv i64 [[TMP11]], 4
417
417
; ORIGIN-NEXT: br label [[DOTSPLIT:%.*]]
418
418
; ORIGIN: .split:
419
- ; ORIGIN-NEXT: [[IV:%.*]] = phi i32 [ 0, [[TMP7]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
420
- ; ORIGIN-NEXT: [[TMP13:%.*]] = getelementptr i32, ptr [[TMP5]], i32 [[IV]]
419
+ ; ORIGIN-NEXT: [[IV:%.*]] = phi i64 [ 0, [[TMP7]] ], [ [[IV_NEXT:%.*]], [[DOTSPLIT]] ]
420
+ ; ORIGIN-NEXT: [[TMP13:%.*]] = getelementptr i32, ptr [[TMP5]], i64 [[IV]]
421
421
; ORIGIN-NEXT: store i32 [[TMP8]], ptr [[TMP13]], align 4
422
- ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i32 [[IV]], 1
423
- ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i32 [[IV_NEXT]], [[TMP12]]
422
+ ; ORIGIN-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
423
+ ; ORIGIN-NEXT: [[IV_CHECK:%.*]] = icmp eq i64 [[IV_NEXT]], [[TMP12]]
424
424
; ORIGIN-NEXT: br i1 [[IV_CHECK]], label [[DOTSPLIT_SPLIT:%.*]], label [[DOTSPLIT]]
425
425
; ORIGIN: .split.split:
426
426
; ORIGIN-NEXT: br label [[TMP14]]
0 commit comments