@@ -14,7 +14,7 @@ define void @foo(i64 %n, i32* nocapture %p) nounwind {
14
14
; CHECK-NEXT: [[CMP9:%.*]] = icmp sgt i64 [[N:%.*]], 0
15
15
; CHECK-NEXT: br i1 [[CMP9]], label [[PRE:%.*]], label [[RETURN:%.*]]
16
16
; CHECK: pre:
17
- ; CHECK-NEXT: [[T3:%.*]] = load i32, i32* [[P:%.*]]
17
+ ; CHECK-NEXT: [[T3:%.*]] = load i32, i32* [[P:%.*]], align 4
18
18
; CHECK-NEXT: [[TOBOOL_NOT:%.*]] = icmp ne i32 [[T3]], 0
19
19
; CHECK-NEXT: br label [[LOOP:%.*]]
20
20
; CHECK: loop:
@@ -23,7 +23,7 @@ define void @foo(i64 %n, i32* nocapture %p) nounwind {
23
23
; CHECK-NEXT: br i1 [[COND]], label [[IF_THEN:%.*]], label [[FOR_INC]]
24
24
; CHECK: if.then:
25
25
; CHECK-NEXT: [[ARRAYIDX:%.*]] = getelementptr [0 x double], [0 x double]* @X, i64 0, i64 [[I]]
26
- ; CHECK-NEXT: store double 3.200000e+00, double* [[ARRAYIDX]]
26
+ ; CHECK-NEXT: store double 3.200000e+00, double* [[ARRAYIDX]], align 8
27
27
; CHECK-NEXT: br label [[FOR_INC]]
28
28
; CHECK: for.inc:
29
29
; CHECK-NEXT: [[INC]] = add nuw nsw i64 [[I]], 1
@@ -144,7 +144,7 @@ define void @func_10() nounwind {
144
144
; CHECK-NEXT: br label [[LOOP:%.*]]
145
145
; CHECK: loop:
146
146
; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i64 [ [[INDVARS_IV_NEXT:%.*]], [[LOOP]] ], [ 0, [[ENTRY:%.*]] ]
147
- ; CHECK-NEXT: store i64 [[INDVARS_IV]], i64* null
147
+ ; CHECK-NEXT: store i64 [[INDVARS_IV]], i64* null, align 8
148
148
; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add nuw nsw i64 [[INDVARS_IV]], 1
149
149
; CHECK-NEXT: br i1 false, label [[LOOP]], label [[RETURN:%.*]]
150
150
; CHECK: return:
@@ -334,7 +334,7 @@ declare void @side_effect()
334
334
define void @func_13 (i32* %len.ptr ) {
335
335
; CHECK-LABEL: @func_13(
336
336
; CHECK-NEXT: entry:
337
- ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], !range !0
337
+ ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], align 4, [[RNG0: !range !.*]]
338
338
; CHECK-NEXT: [[LEN_IS_ZERO:%.*]] = icmp eq i32 [[LEN]], 0
339
339
; CHECK-NEXT: br i1 [[LEN_IS_ZERO]], label [[LEAVE:%.*]], label [[LOOP_PREHEADER:%.*]]
340
340
; CHECK: loop.preheader:
@@ -378,7 +378,7 @@ leave:
378
378
define void @func_14 (i32* %len.ptr ) {
379
379
; CHECK-LABEL: @func_14(
380
380
; CHECK-NEXT: entry:
381
- ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], !range !0
381
+ ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], align 4, [[RNG0]]
382
382
; CHECK-NEXT: [[LEN_IS_ZERO:%.*]] = icmp eq i32 [[LEN]], 0
383
383
; CHECK-NEXT: [[LEN_IS_INT_MIN:%.*]] = icmp eq i32 [[LEN]], -2147483648
384
384
; CHECK-NEXT: [[NO_ENTRY:%.*]] = or i1 [[LEN_IS_ZERO]], [[LEN_IS_INT_MIN]]
@@ -426,7 +426,7 @@ leave:
426
426
define void @func_15 (i32* %len.ptr ) {
427
427
; CHECK-LABEL: @func_15(
428
428
; CHECK-NEXT: entry:
429
- ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], !range !0
429
+ ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], align 4, [[RNG0]]
430
430
; CHECK-NEXT: [[LEN_ADD_1:%.*]] = add i32 [[LEN]], 1
431
431
; CHECK-NEXT: [[LEN_ADD_1_IS_ZERO:%.*]] = icmp eq i32 [[LEN_ADD_1]], 0
432
432
; CHECK-NEXT: br i1 [[LEN_ADD_1_IS_ZERO]], label [[LEAVE:%.*]], label [[LOOP_PREHEADER:%.*]]
@@ -471,7 +471,7 @@ leave:
471
471
define void @func_16 (i32* %len.ptr ) {
472
472
; CHECK-LABEL: @func_16(
473
473
; CHECK-NEXT: entry:
474
- ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], !range !0
474
+ ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], align 4, [[RNG0]]
475
475
; CHECK-NEXT: [[LEN_ADD_5:%.*]] = add i32 [[LEN]], 5
476
476
; CHECK-NEXT: [[ENTRY_COND_0:%.*]] = icmp slt i32 [[LEN]], 2147483643
477
477
; CHECK-NEXT: [[ENTRY_COND_1:%.*]] = icmp slt i32 4, [[LEN_ADD_5]]
@@ -522,7 +522,7 @@ leave:
522
522
define void @func_17 (i32* %len.ptr ) {
523
523
; CHECK-LABEL: @func_17(
524
524
; CHECK-NEXT: entry:
525
- ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]]
525
+ ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], align 4
526
526
; CHECK-NEXT: [[LEN_ADD_5:%.*]] = add i32 [[LEN]], -5
527
527
; CHECK-NEXT: [[ENTRY_COND_0:%.*]] = icmp slt i32 [[LEN]], -2147483643
528
528
; CHECK-NEXT: [[ENTRY_COND_1:%.*]] = icmp slt i32 -6, [[LEN_ADD_5]]
@@ -579,7 +579,7 @@ leave:
579
579
define i1 @func_18 (i16* %tmp20 , i32* %len.addr ) {
580
580
; CHECK-LABEL: @func_18(
581
581
; CHECK-NEXT: entry:
582
- ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_ADDR:%.*]], !range !0
582
+ ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_ADDR:%.*]], align 4, [[RNG0]]
583
583
; CHECK-NEXT: [[TMP18:%.*]] = icmp eq i32 [[LEN]], 0
584
584
; CHECK-NEXT: br i1 [[TMP18]], label [[BB2:%.*]], label [[BB0_PREHEADER:%.*]]
585
585
; CHECK: bb0.preheader:
@@ -591,7 +591,7 @@ define i1 @func_18(i16* %tmp20, i32* %len.addr) {
591
591
; CHECK-NEXT: br i1 true, label [[STAY:%.*]], label [[BB2_LOOPEXIT:%.*]]
592
592
; CHECK: stay:
593
593
; CHECK-NEXT: [[TMP25:%.*]] = getelementptr inbounds i16, i16* [[TMP20:%.*]], i32 [[VAR_1]]
594
- ; CHECK-NEXT: [[TMP26:%.*]] = load i16, i16* [[TMP25]]
594
+ ; CHECK-NEXT: [[TMP26:%.*]] = load i16, i16* [[TMP25]], align 2
595
595
; CHECK-NEXT: [[TMP29:%.*]] = icmp eq i16 [[TMP26]], 0
596
596
; CHECK-NEXT: br i1 [[TMP29]], label [[BB1]], label [[BB2_LOOPEXIT]]
597
597
; CHECK: bb1:
641
641
define void @func_19 (i32* %length.ptr ) {
642
642
; CHECK-LABEL: @func_19(
643
643
; CHECK-NEXT: entry:
644
- ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], !range !0
644
+ ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], align 4, [[RNG0]]
645
645
; CHECK-NEXT: [[LENGTH_IS_NONZERO:%.*]] = icmp ne i32 [[LENGTH]], 0
646
646
; CHECK-NEXT: br i1 [[LENGTH_IS_NONZERO]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
647
647
; CHECK: loop.preheader:
@@ -684,7 +684,7 @@ leave:
684
684
define void @func_20 (i32* %length.ptr ) {
685
685
; CHECK-LABEL: @func_20(
686
686
; CHECK-NEXT: entry:
687
- ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]]
687
+ ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], align 4
688
688
; CHECK-NEXT: [[LENGTH_IS_NONZERO:%.*]] = icmp ne i32 [[LENGTH]], 0
689
689
; CHECK-NEXT: br i1 [[LENGTH_IS_NONZERO]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
690
690
; CHECK: loop.preheader:
@@ -730,7 +730,7 @@ leave:
730
730
define void @func_21 (i32* %length.ptr ) {
731
731
; CHECK-LABEL: @func_21(
732
732
; CHECK-NEXT: entry:
733
- ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], !range !0
733
+ ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], align 4, [[RNG0]]
734
734
; CHECK-NEXT: [[LIM:%.*]] = sub i32 [[LENGTH]], 1
735
735
; CHECK-NEXT: [[ENTRY_COND:%.*]] = icmp sgt i32 [[LENGTH]], 1
736
736
; CHECK-NEXT: br i1 [[ENTRY_COND]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
@@ -775,7 +775,7 @@ leave:
775
775
define void @func_22 (i32* %length.ptr ) {
776
776
; CHECK-LABEL: @func_22(
777
777
; CHECK-NEXT: entry:
778
- ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], !range !0
778
+ ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], align 4, [[RNG0]]
779
779
; CHECK-NEXT: [[ENTRY_COND:%.*]] = icmp sgt i32 [[LENGTH]], 1
780
780
; CHECK-NEXT: br i1 [[ENTRY_COND]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
781
781
; CHECK: loop.preheader:
@@ -817,7 +817,7 @@ leave:
817
817
define void @func_23 (i32* %length.ptr ) {
818
818
; CHECK-LABEL: @func_23(
819
819
; CHECK-NEXT: entry:
820
- ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], !range !0
820
+ ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], align 4, [[RNG0]]
821
821
; CHECK-NEXT: [[ENTRY_COND:%.*]] = icmp ult i32 4, [[LENGTH]]
822
822
; CHECK-NEXT: br i1 [[ENTRY_COND]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
823
823
; CHECK: loop.preheader:
@@ -858,7 +858,7 @@ leave:
858
858
define void @func_24 (i32* %init.ptr ) {
859
859
; CHECK-LABEL: @func_24(
860
860
; CHECK-NEXT: entry:
861
- ; CHECK-NEXT: [[INIT:%.*]] = load i32, i32* [[INIT_PTR:%.*]], !range !0
861
+ ; CHECK-NEXT: [[INIT:%.*]] = load i32, i32* [[INIT_PTR:%.*]], align 4, [[RNG0]]
862
862
; CHECK-NEXT: [[ENTRY_COND:%.*]] = icmp ugt i32 [[INIT]], 4
863
863
; CHECK-NEXT: br i1 [[ENTRY_COND]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
864
864
; CHECK: loop.preheader:
0 commit comments