@@ -18,15 +18,15 @@ define dso_local zeroext i32 @foo(ptr noundef %a) #0 {
18
18
; CHECK-NEXT: br label [[FOR_BODY4:%.*]]
19
19
; CHECK: for.body4:
20
20
; 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]] ]
22
22
; CHECK-NEXT: [[IDX_NEG:%.*]] = sub nsw i64 0, [[INDVARS_IV]]
23
23
; CHECK-NEXT: [[ADD_PTR:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[IDX_NEG]]
24
24
; 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 ]]
26
26
; CHECK-NEXT: [[INDVARS_IV_NEXT_NEG:%.*]] = xor i64 [[INDVARS_IV]], -1
27
27
; 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 ]]
30
30
; CHECK-NEXT: [[INDVARS_IV_NEXT_112_NEG:%.*]] = sub nuw nsw i64 -2, [[INDVARS_IV]]
31
31
; CHECK-NEXT: [[ADD_PTR_217:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_112_NEG]]
32
32
; 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 {
46
46
; CHECK-NEXT: [[INDVARS_IV_NEXT_5_NEG:%.*]] = sub nuw nsw i64 -6, [[INDVARS_IV]]
47
47
; CHECK-NEXT: [[ADD_PTR_6:%.*]] = getelementptr inbounds i32, ptr getelementptr inbounds nuw (i8, ptr @ARR, i64 396), i64 [[INDVARS_IV_NEXT_5_NEG]]
48
48
; 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]]
50
50
; CHECK-NEXT: [[INDVARS_IV_NEXT_6_NEG:%.*]] = sub nuw nsw i64 -7, [[INDVARS_IV]]
51
51
; 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 ]]
54
54
; CHECK-NEXT: [[INDVARS_IV_NEXT_7]] = add nuw nsw i64 [[INDVARS_IV]], 8
55
55
; CHECK-NEXT: [[EXITCOND_NOT_7:%.*]] = icmp eq i64 [[INDVARS_IV_NEXT_7]], 32
56
56
; CHECK-NEXT: br i1 [[EXITCOND_NOT_7]], label [[FOR_BODY4_1:%.*]], label [[FOR_BODY4]], !llvm.loop [[LOOP7:![0-9]+]]
57
57
; CHECK: for.body4.1:
58
58
; 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]] ]
60
60
; CHECK-NEXT: [[IDX_NEG_1:%.*]] = sub nsw i64 0, [[INDVARS_IV_1]]
61
61
; 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]]
63
63
; CHECK-NEXT: [[INDVARS_IV_NEXT_1_NEG:%.*]] = xor i64 [[INDVARS_IV_1]], -1
64
64
; 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 ]]
67
67
; CHECK-NEXT: [[INDVARS_IV_NEXT_1_1_NEG:%.*]] = sub nuw nsw i64 -2, [[INDVARS_IV_1]]
68
68
; 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]]
69
69
; 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]]
71
71
; CHECK-NEXT: [[INDVARS_IV_NEXT_1_2_NEG:%.*]] = sub nuw nsw i64 -3, [[INDVARS_IV_1]]
72
72
; 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]]
73
73
; 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 {
79
79
; CHECK-NEXT: [[INDVARS_IV_NEXT_1_4_NEG:%.*]] = sub nuw nsw i64 -5, [[INDVARS_IV_1]]
80
80
; 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]]
81
81
; 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]]
83
83
; CHECK-NEXT: [[INDVARS_IV_NEXT_1_5_NEG:%.*]] = sub nuw nsw i64 -6, [[INDVARS_IV_1]]
84
84
; 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 ]]
87
87
; CHECK-NEXT: [[INDVARS_IV_NEXT_1_6_NEG:%.*]] = sub nuw nsw i64 -7, [[INDVARS_IV_1]]
88
88
; 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]]
89
89
; 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]]
91
91
; CHECK-NEXT: [[TMP23:%.*]] = shl i32 [[TMP22]], 1
92
92
; CHECK-NEXT: [[ADD_1_7]] = add i32 [[TMP23]], [[SUM_11_1]]
93
93
; CHECK-NEXT: [[INDVARS_IV_NEXT_1_7]] = add nuw nsw i64 [[INDVARS_IV_1]], 8
0 commit comments