@@ -18,15 +18,15 @@ define dso_local zeroext i32 @foo(ptr noundef %a) #0 {
1818; CHECK-NEXT: br label [[FOR_BODY4:%.*]]
1919; CHECK: for.body4:
2020; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[INDVARS_IV_NEXT_7:%.*]], [[FOR_BODY4]] ]
21- ; CHECK-NEXT: [[SUM_12 :%.*]] = phi i32 [ 0, [[ENTRY]] ], [ [[ADD_8 :%.*]], [[FOR_BODY4]] ]
21+ ; CHECK-NEXT: [[SUM_11 :%.*]] = phi i32 [ 0, [[ENTRY]] ], [ [[ADD_7 :%.*]], [[FOR_BODY4]] ]
2222; CHECK-NEXT: [[IDX_NEG:%.*]] = sub nsw i64 0, [[INDVARS_IV]]
2323; CHECK-NEXT: [[ADD_PTR:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[IDX_NEG]]
2424; CHECK-NEXT: [[TMP0:%.*]] = load i32, ptr [[ADD_PTR]], align 4, !tbaa [[TBAA3:![0-9]+]]
25- ; CHECK-NEXT: [[ADD_7 :%.*]] = add i32 [[TMP0]], [[SUM_12 ]]
25+ ; CHECK-NEXT: [[ADD :%.*]] = add i32 [[TMP0]], [[SUM_11 ]]
2626; CHECK-NEXT: [[INDVARS_IV_NEXT_NEG:%.*]] = xor i64 [[INDVARS_IV]], -1
2727; CHECK-NEXT: [[ADD_PTR_110:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_NEG]]
28- ; CHECK-NEXT: [[TMP7 :%.*]] = load i32, ptr [[ADD_PTR_110]], align 4, !tbaa [[TBAA3]]
29- ; CHECK-NEXT: [[ADD_111:%.*]] = add i32 [[TMP7 ]], [[ADD_7 ]]
28+ ; CHECK-NEXT: [[TMP1 :%.*]] = load i32, ptr [[ADD_PTR_110]], align 4, !tbaa [[TBAA3]]
29+ ; CHECK-NEXT: [[ADD_111:%.*]] = add i32 [[TMP1 ]], [[ADD ]]
3030; CHECK-NEXT: [[INDVARS_IV_NEXT_112_NEG:%.*]] = sub nuw nsw i64 -2, [[INDVARS_IV]]
3131; CHECK-NEXT: [[ADD_PTR_217:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_112_NEG]]
3232; CHECK-NEXT: [[TMP2:%.*]] = load i32, ptr [[ADD_PTR_217]], align 4, !tbaa [[TBAA3]]
@@ -46,28 +46,28 @@ define dso_local zeroext i32 @foo(ptr noundef %a) #0 {
4646; CHECK-NEXT: [[INDVARS_IV_NEXT_5_NEG:%.*]] = sub nuw nsw i64 -6, [[INDVARS_IV]]
4747; CHECK-NEXT: [[ADD_PTR_6:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_5_NEG]]
4848; CHECK-NEXT: [[TMP6:%.*]] = load i32, ptr [[ADD_PTR_6]], align 4, !tbaa [[TBAA3]]
49- ; CHECK-NEXT: [[SUM_11 :%.*]] = add i32 [[TMP6]], [[ADD_5]]
49+ ; CHECK-NEXT: [[ADD_6 :%.*]] = add i32 [[TMP6]], [[ADD_5]]
5050; CHECK-NEXT: [[INDVARS_IV_NEXT_6_NEG:%.*]] = sub nuw nsw i64 -7, [[INDVARS_IV]]
5151; CHECK-NEXT: [[ADD_PTR_7:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_6_NEG]]
52- ; CHECK-NEXT: [[TMP1 :%.*]] = load i32, ptr [[ADD_PTR_7]], align 4, !tbaa [[TBAA3]]
53- ; CHECK-NEXT: [[ADD_8 ]] = add i32 [[TMP1 ]], [[SUM_11 ]]
52+ ; CHECK-NEXT: [[TMP7 :%.*]] = load i32, ptr [[ADD_PTR_7]], align 4, !tbaa [[TBAA3]]
53+ ; CHECK-NEXT: [[ADD_7 ]] = add i32 [[TMP7 ]], [[ADD_6 ]]
5454; CHECK-NEXT: [[INDVARS_IV_NEXT_7]] = add nuw nsw i64 [[INDVARS_IV]], 8
5555; CHECK-NEXT: [[EXITCOND_NOT_7:%.*]] = icmp eq i64 [[INDVARS_IV_NEXT_7]], 32
5656; CHECK-NEXT: br i1 [[EXITCOND_NOT_7]], label [[FOR_BODY4_1:%.*]], label [[FOR_BODY4]], !llvm.loop [[LOOP7:![0-9]+]]
5757; CHECK: for.body4.1:
5858; CHECK-NEXT: [[INDVARS_IV_1:%.*]] = phi i64 [ [[INDVARS_IV_NEXT_1_7:%.*]], [[FOR_BODY4_1]] ], [ 0, [[FOR_BODY4]] ]
59- ; CHECK-NEXT: [[SUM_11_1:%.*]] = phi i32 [ [[ADD_1_7:%.*]], [[FOR_BODY4_1]] ], [ [[ADD_8 ]], [[FOR_BODY4]] ]
59+ ; CHECK-NEXT: [[SUM_11_1:%.*]] = phi i32 [ [[ADD_1_7:%.*]], [[FOR_BODY4_1]] ], [ [[ADD_7 ]], [[FOR_BODY4]] ]
6060; CHECK-NEXT: [[IDX_NEG_1:%.*]] = sub nsw i64 0, [[INDVARS_IV_1]]
6161; CHECK-NEXT: [[ADD_PTR_1:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[IDX_NEG_1]]
62- ; CHECK-NEXT: [[TMP18 :%.*]] = load i32, ptr [[ADD_PTR_1]], align 4, !tbaa [[TBAA3]]
62+ ; CHECK-NEXT: [[TMP8 :%.*]] = load i32, ptr [[ADD_PTR_1]], align 4, !tbaa [[TBAA3]]
6363; CHECK-NEXT: [[INDVARS_IV_NEXT_1_NEG:%.*]] = xor i64 [[INDVARS_IV_1]], -1
6464; CHECK-NEXT: [[ADD_PTR_1_1:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_1_NEG]]
65- ; CHECK-NEXT: [[TMP19 :%.*]] = load i32, ptr [[ADD_PTR_1_1]], align 4, !tbaa [[TBAA3]]
66- ; CHECK-NEXT: [[TMP20 :%.*]] = add i32 [[TMP18 ]], [[TMP19 ]]
65+ ; CHECK-NEXT: [[TMP9 :%.*]] = load i32, ptr [[ADD_PTR_1_1]], align 4, !tbaa [[TBAA3]]
66+ ; CHECK-NEXT: [[TMP10 :%.*]] = add i32 [[TMP8 ]], [[TMP9 ]]
6767; CHECK-NEXT: [[INDVARS_IV_NEXT_1_1_NEG:%.*]] = sub nuw nsw i64 -2, [[INDVARS_IV_1]]
6868; CHECK-NEXT: [[ADD_PTR_1_2:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_1_1_NEG]]
6969; CHECK-NEXT: [[TMP11:%.*]] = load i32, ptr [[ADD_PTR_1_2]], align 4, !tbaa [[TBAA3]]
70- ; CHECK-NEXT: [[TMP12:%.*]] = add i32 [[TMP20 ]], [[TMP11]]
70+ ; CHECK-NEXT: [[TMP12:%.*]] = add i32 [[TMP10 ]], [[TMP11]]
7171; CHECK-NEXT: [[INDVARS_IV_NEXT_1_2_NEG:%.*]] = sub nuw nsw i64 -3, [[INDVARS_IV_1]]
7272; CHECK-NEXT: [[ADD_PTR_1_3:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_1_2_NEG]]
7373; CHECK-NEXT: [[TMP13:%.*]] = load i32, ptr [[ADD_PTR_1_3]], align 4, !tbaa [[TBAA3]]
@@ -79,15 +79,15 @@ define dso_local zeroext i32 @foo(ptr noundef %a) #0 {
7979; CHECK-NEXT: [[INDVARS_IV_NEXT_1_4_NEG:%.*]] = sub nuw nsw i64 -5, [[INDVARS_IV_1]]
8080; CHECK-NEXT: [[ADD_PTR_1_5:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_1_4_NEG]]
8181; CHECK-NEXT: [[TMP17:%.*]] = load i32, ptr [[ADD_PTR_1_5]], align 4, !tbaa [[TBAA3]]
82- ; CHECK-NEXT: [[TMP32 :%.*]] = add i32 [[TMP16]], [[TMP17]]
82+ ; CHECK-NEXT: [[TMP18 :%.*]] = add i32 [[TMP16]], [[TMP17]]
8383; CHECK-NEXT: [[INDVARS_IV_NEXT_1_5_NEG:%.*]] = sub nuw nsw i64 -6, [[INDVARS_IV_1]]
8484; CHECK-NEXT: [[ADD_PTR_1_6:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_1_5_NEG]]
85- ; CHECK-NEXT: [[TMP33 :%.*]] = load i32, ptr [[ADD_PTR_1_6]], align 4, !tbaa [[TBAA3]]
86- ; CHECK-NEXT: [[TMP34 :%.*]] = add i32 [[TMP32 ]], [[TMP33 ]]
85+ ; CHECK-NEXT: [[TMP19 :%.*]] = load i32, ptr [[ADD_PTR_1_6]], align 4, !tbaa [[TBAA3]]
86+ ; CHECK-NEXT: [[TMP20 :%.*]] = add i32 [[TMP18 ]], [[TMP19 ]]
8787; CHECK-NEXT: [[INDVARS_IV_NEXT_1_6_NEG:%.*]] = sub nuw nsw i64 -7, [[INDVARS_IV_1]]
8888; CHECK-NEXT: [[ADD_PTR_1_7:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_1_6_NEG]]
8989; CHECK-NEXT: [[TMP21:%.*]] = load i32, ptr [[ADD_PTR_1_7]], align 4, !tbaa [[TBAA3]]
90- ; CHECK-NEXT: [[TMP22:%.*]] = add i32 [[TMP34 ]], [[TMP21]]
90+ ; CHECK-NEXT: [[TMP22:%.*]] = add i32 [[TMP20 ]], [[TMP21]]
9191; CHECK-NEXT: [[TMP23:%.*]] = shl i32 [[TMP22]], 1
9292; CHECK-NEXT: [[ADD_1_7]] = add i32 [[TMP23]], [[SUM_11_1]]
9393; CHECK-NEXT: [[INDVARS_IV_NEXT_1_7]] = add nuw nsw i64 [[INDVARS_IV_1]], 8
0 commit comments