@@ -14,7 +14,7 @@ define void @foo(i64 %n, i32* nocapture %p) nounwind {
1414; CHECK-NEXT: [[CMP9:%.*]] = icmp sgt i64 [[N:%.*]], 0
1515; CHECK-NEXT: br i1 [[CMP9]], label [[PRE:%.*]], label [[RETURN:%.*]]
1616; CHECK: pre:
17- ; CHECK-NEXT: [[T3:%.*]] = load i32, i32* [[P:%.*]]
17+ ; CHECK-NEXT: [[T3:%.*]] = load i32, i32* [[P:%.*]], align 4
1818; CHECK-NEXT: [[TOBOOL_NOT:%.*]] = icmp ne i32 [[T3]], 0
1919; CHECK-NEXT: br label [[LOOP:%.*]]
2020; CHECK: loop:
@@ -23,7 +23,7 @@ define void @foo(i64 %n, i32* nocapture %p) nounwind {
2323; CHECK-NEXT: br i1 [[COND]], label [[IF_THEN:%.*]], label [[FOR_INC]]
2424; CHECK: if.then:
2525; 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
2727; CHECK-NEXT: br label [[FOR_INC]]
2828; CHECK: for.inc:
2929; CHECK-NEXT: [[INC]] = add nuw nsw i64 [[I]], 1
@@ -144,7 +144,7 @@ define void @func_10() nounwind {
144144; CHECK-NEXT: br label [[LOOP:%.*]]
145145; CHECK: loop:
146146; 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
148148; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add nuw nsw i64 [[INDVARS_IV]], 1
149149; CHECK-NEXT: br i1 false, label [[LOOP]], label [[RETURN:%.*]]
150150; CHECK: return:
@@ -334,7 +334,7 @@ declare void @side_effect()
334334define void @func_13 (i32* %len.ptr ) {
335335; CHECK-LABEL: @func_13(
336336; 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 !.*]]
338338; CHECK-NEXT: [[LEN_IS_ZERO:%.*]] = icmp eq i32 [[LEN]], 0
339339; CHECK-NEXT: br i1 [[LEN_IS_ZERO]], label [[LEAVE:%.*]], label [[LOOP_PREHEADER:%.*]]
340340; CHECK: loop.preheader:
@@ -378,7 +378,7 @@ leave:
378378define void @func_14 (i32* %len.ptr ) {
379379; CHECK-LABEL: @func_14(
380380; 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]]
382382; CHECK-NEXT: [[LEN_IS_ZERO:%.*]] = icmp eq i32 [[LEN]], 0
383383; CHECK-NEXT: [[LEN_IS_INT_MIN:%.*]] = icmp eq i32 [[LEN]], -2147483648
384384; CHECK-NEXT: [[NO_ENTRY:%.*]] = or i1 [[LEN_IS_ZERO]], [[LEN_IS_INT_MIN]]
@@ -426,7 +426,7 @@ leave:
426426define void @func_15 (i32* %len.ptr ) {
427427; CHECK-LABEL: @func_15(
428428; 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]]
430430; CHECK-NEXT: [[LEN_ADD_1:%.*]] = add i32 [[LEN]], 1
431431; CHECK-NEXT: [[LEN_ADD_1_IS_ZERO:%.*]] = icmp eq i32 [[LEN_ADD_1]], 0
432432; CHECK-NEXT: br i1 [[LEN_ADD_1_IS_ZERO]], label [[LEAVE:%.*]], label [[LOOP_PREHEADER:%.*]]
@@ -471,7 +471,7 @@ leave:
471471define void @func_16 (i32* %len.ptr ) {
472472; CHECK-LABEL: @func_16(
473473; 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]]
475475; CHECK-NEXT: [[LEN_ADD_5:%.*]] = add i32 [[LEN]], 5
476476; CHECK-NEXT: [[ENTRY_COND_0:%.*]] = icmp slt i32 [[LEN]], 2147483643
477477; CHECK-NEXT: [[ENTRY_COND_1:%.*]] = icmp slt i32 4, [[LEN_ADD_5]]
@@ -522,7 +522,7 @@ leave:
522522define void @func_17 (i32* %len.ptr ) {
523523; CHECK-LABEL: @func_17(
524524; CHECK-NEXT: entry:
525- ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]]
525+ ; CHECK-NEXT: [[LEN:%.*]] = load i32, i32* [[LEN_PTR:%.*]], align 4
526526; CHECK-NEXT: [[LEN_ADD_5:%.*]] = add i32 [[LEN]], -5
527527; CHECK-NEXT: [[ENTRY_COND_0:%.*]] = icmp slt i32 [[LEN]], -2147483643
528528; CHECK-NEXT: [[ENTRY_COND_1:%.*]] = icmp slt i32 -6, [[LEN_ADD_5]]
@@ -579,7 +579,7 @@ leave:
579579define i1 @func_18 (i16* %tmp20 , i32* %len.addr ) {
580580; CHECK-LABEL: @func_18(
581581; 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]]
583583; CHECK-NEXT: [[TMP18:%.*]] = icmp eq i32 [[LEN]], 0
584584; CHECK-NEXT: br i1 [[TMP18]], label [[BB2:%.*]], label [[BB0_PREHEADER:%.*]]
585585; CHECK: bb0.preheader:
@@ -591,7 +591,7 @@ define i1 @func_18(i16* %tmp20, i32* %len.addr) {
591591; CHECK-NEXT: br i1 true, label [[STAY:%.*]], label [[BB2_LOOPEXIT:%.*]]
592592; CHECK: stay:
593593; 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
595595; CHECK-NEXT: [[TMP29:%.*]] = icmp eq i16 [[TMP26]], 0
596596; CHECK-NEXT: br i1 [[TMP29]], label [[BB1]], label [[BB2_LOOPEXIT]]
597597; CHECK: bb1:
641641define void @func_19 (i32* %length.ptr ) {
642642; CHECK-LABEL: @func_19(
643643; 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]]
645645; CHECK-NEXT: [[LENGTH_IS_NONZERO:%.*]] = icmp ne i32 [[LENGTH]], 0
646646; CHECK-NEXT: br i1 [[LENGTH_IS_NONZERO]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
647647; CHECK: loop.preheader:
@@ -684,7 +684,7 @@ leave:
684684define void @func_20 (i32* %length.ptr ) {
685685; CHECK-LABEL: @func_20(
686686; CHECK-NEXT: entry:
687- ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]]
687+ ; CHECK-NEXT: [[LENGTH:%.*]] = load i32, i32* [[LENGTH_PTR:%.*]], align 4
688688; CHECK-NEXT: [[LENGTH_IS_NONZERO:%.*]] = icmp ne i32 [[LENGTH]], 0
689689; CHECK-NEXT: br i1 [[LENGTH_IS_NONZERO]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
690690; CHECK: loop.preheader:
@@ -730,7 +730,7 @@ leave:
730730define void @func_21 (i32* %length.ptr ) {
731731; CHECK-LABEL: @func_21(
732732; 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]]
734734; CHECK-NEXT: [[LIM:%.*]] = sub i32 [[LENGTH]], 1
735735; CHECK-NEXT: [[ENTRY_COND:%.*]] = icmp sgt i32 [[LENGTH]], 1
736736; CHECK-NEXT: br i1 [[ENTRY_COND]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
@@ -775,7 +775,7 @@ leave:
775775define void @func_22 (i32* %length.ptr ) {
776776; CHECK-LABEL: @func_22(
777777; 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]]
779779; CHECK-NEXT: [[ENTRY_COND:%.*]] = icmp sgt i32 [[LENGTH]], 1
780780; CHECK-NEXT: br i1 [[ENTRY_COND]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
781781; CHECK: loop.preheader:
@@ -817,7 +817,7 @@ leave:
817817define void @func_23 (i32* %length.ptr ) {
818818; CHECK-LABEL: @func_23(
819819; 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]]
821821; CHECK-NEXT: [[ENTRY_COND:%.*]] = icmp ult i32 4, [[LENGTH]]
822822; CHECK-NEXT: br i1 [[ENTRY_COND]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
823823; CHECK: loop.preheader:
@@ -858,7 +858,7 @@ leave:
858858define void @func_24 (i32* %init.ptr ) {
859859; CHECK-LABEL: @func_24(
860860; 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]]
862862; CHECK-NEXT: [[ENTRY_COND:%.*]] = icmp ugt i32 [[INIT]], 4
863863; CHECK-NEXT: br i1 [[ENTRY_COND]], label [[LOOP_PREHEADER:%.*]], label [[LEAVE:%.*]]
864864; CHECK: loop.preheader:
0 commit comments