@@ -29,43 +29,43 @@ entry:
2929 %a = call align 4 dereferenceable (8 ) ptr @runtime.alloc (i32 8 , ptr nonnull inttoptr (i32 3 to ptr ), ptr undef ) #3
3030 call void @runtime.trackPointer (ptr nonnull %a , ptr nonnull %stackalloc , ptr undef ) #3
3131 store float %a.X , ptr %a , align 4
32- %a.repack9 = getelementptr inbounds nuw i8 , ptr %a , i32 4
33- store float %a.Y , ptr %a.repack9 , align 4
32+ %a.repack5 = getelementptr inbounds nuw i8 , ptr %a , i32 4
33+ store float %a.Y , ptr %a.repack5 , align 4
3434 %b = call align 4 dereferenceable (8 ) ptr @runtime.alloc (i32 8 , ptr nonnull inttoptr (i32 3 to ptr ), ptr undef ) #3
3535 call void @runtime.trackPointer (ptr nonnull %b , ptr nonnull %stackalloc , ptr undef ) #3
3636 store float %b.X , ptr %b , align 4
37- %b.repack11 = getelementptr inbounds nuw i8 , ptr %b , i32 4
38- store float %b.Y , ptr %b.repack11 , align 4
37+ %b.repack7 = getelementptr inbounds nuw i8 , ptr %b , i32 4
38+ store float %b.Y , ptr %b.repack7 , align 4
3939 call void @main.checkSize (i32 4 , ptr undef ) #3
4040 call void @main.checkSize (i32 8 , ptr undef ) #3
4141 %complit = call align 4 dereferenceable (8 ) ptr @runtime.alloc (i32 8 , ptr nonnull inttoptr (i32 3 to ptr ), ptr undef ) #3
4242 call void @runtime.trackPointer (ptr nonnull %complit , ptr nonnull %stackalloc , ptr undef ) #3
4343 br i1 false , label %deref.throw , label %deref.next
4444
4545deref.next: ; preds = %entry
46- br i1 false , label %deref.throw1 , label %deref.next2
46+ br i1 false , label %deref.throw , label %deref.next1
4747
48- deref.next2 : ; preds = %deref.next
48+ deref.next1 : ; preds = %deref.next
4949 %0 = load float , ptr %a , align 4
5050 %1 = load float , ptr %b , align 4
5151 %2 = fadd float %0 , %1
52- br i1 false , label %deref.throw3 , label %deref.next4
52+ br i1 false , label %deref.throw , label %deref.next2
5353
54- deref.next4 : ; preds = %deref.next2
55- br i1 false , label %deref.throw5 , label %deref.next6
54+ deref.next2 : ; preds = %deref.next1
55+ br i1 false , label %deref.throw , label %deref.next3
5656
57- deref.next6 : ; preds = %deref.next4
57+ deref.next3 : ; preds = %deref.next2
5858 %3 = getelementptr inbounds nuw i8 , ptr %b , i32 4
5959 %4 = getelementptr inbounds nuw i8 , ptr %a , i32 4
6060 %5 = load float , ptr %4 , align 4
6161 %6 = load float , ptr %3 , align 4
62- br i1 false , label %store .throw , label %store.next
62+ br i1 false , label %deref .throw , label %store.next
6363
64- store .next: ; preds = %deref.next6
64+ store .next: ; preds = %deref.next3
6565 store float %2 , ptr %complit , align 4
66- br i1 false , label %store.throw7 , label %store.next8
66+ br i1 false , label %deref.throw , label %store.next4
6767
68- store .next8 : ; preds = %store.next
68+ store .next4 : ; preds = %store.next
6969 %7 = getelementptr inbounds nuw i8 , ptr %complit , i32 4
7070 %8 = fadd float %5 , %6
7171 store float %8 , ptr %7 , align 4
@@ -74,22 +74,7 @@ store.next8: ; preds = %store.next
7474 %10 = insertvalue %"main.Point[float32]" %9 , float %8 , 1
7575 ret %"main.Point[float32]" %10
7676
77- deref.throw: ; preds = %entry
78- unreachable
79-
80- deref.throw1: ; preds = %deref.next
81- unreachable
82-
83- deref.throw3: ; preds = %deref.next2
84- unreachable
85-
86- deref.throw5: ; preds = %deref.next4
87- unreachable
88-
89- store .throw: ; preds = %deref.next6
90- unreachable
91-
92- store .throw7: ; preds = %store.next
77+ deref.throw: ; preds = %store.next, %deref.next3, %deref.next2, %deref.next1, %deref.next, %entry
9378 unreachable
9479}
9580
@@ -107,43 +92,43 @@ entry:
10792 %a = call align 4 dereferenceable (8 ) ptr @runtime.alloc (i32 8 , ptr nonnull inttoptr (i32 3 to ptr ), ptr undef ) #3
10893 call void @runtime.trackPointer (ptr nonnull %a , ptr nonnull %stackalloc , ptr undef ) #3
10994 store i32 %a.X , ptr %a , align 4
110- %a.repack9 = getelementptr inbounds nuw i8 , ptr %a , i32 4
111- store i32 %a.Y , ptr %a.repack9 , align 4
95+ %a.repack5 = getelementptr inbounds nuw i8 , ptr %a , i32 4
96+ store i32 %a.Y , ptr %a.repack5 , align 4
11297 %b = call align 4 dereferenceable (8 ) ptr @runtime.alloc (i32 8 , ptr nonnull inttoptr (i32 3 to ptr ), ptr undef ) #3
11398 call void @runtime.trackPointer (ptr nonnull %b , ptr nonnull %stackalloc , ptr undef ) #3
11499 store i32 %b.X , ptr %b , align 4
115- %b.repack11 = getelementptr inbounds nuw i8 , ptr %b , i32 4
116- store i32 %b.Y , ptr %b.repack11 , align 4
100+ %b.repack7 = getelementptr inbounds nuw i8 , ptr %b , i32 4
101+ store i32 %b.Y , ptr %b.repack7 , align 4
117102 call void @main.checkSize (i32 4 , ptr undef ) #3
118103 call void @main.checkSize (i32 8 , ptr undef ) #3
119104 %complit = call align 4 dereferenceable (8 ) ptr @runtime.alloc (i32 8 , ptr nonnull inttoptr (i32 3 to ptr ), ptr undef ) #3
120105 call void @runtime.trackPointer (ptr nonnull %complit , ptr nonnull %stackalloc , ptr undef ) #3
121106 br i1 false , label %deref.throw , label %deref.next
122107
123108deref.next: ; preds = %entry
124- br i1 false , label %deref.throw1 , label %deref.next2
109+ br i1 false , label %deref.throw , label %deref.next1
125110
126- deref.next2 : ; preds = %deref.next
111+ deref.next1 : ; preds = %deref.next
127112 %0 = load i32 , ptr %a , align 4
128113 %1 = load i32 , ptr %b , align 4
129114 %2 = add i32 %0 , %1
130- br i1 false , label %deref.throw3 , label %deref.next4
115+ br i1 false , label %deref.throw , label %deref.next2
131116
132- deref.next4 : ; preds = %deref.next2
133- br i1 false , label %deref.throw5 , label %deref.next6
117+ deref.next2 : ; preds = %deref.next1
118+ br i1 false , label %deref.throw , label %deref.next3
134119
135- deref.next6 : ; preds = %deref.next4
120+ deref.next3 : ; preds = %deref.next2
136121 %3 = getelementptr inbounds nuw i8 , ptr %b , i32 4
137122 %4 = getelementptr inbounds nuw i8 , ptr %a , i32 4
138123 %5 = load i32 , ptr %4 , align 4
139124 %6 = load i32 , ptr %3 , align 4
140- br i1 false , label %store .throw , label %store.next
125+ br i1 false , label %deref .throw , label %store.next
141126
142- store .next: ; preds = %deref.next6
127+ store .next: ; preds = %deref.next3
143128 store i32 %2 , ptr %complit , align 4
144- br i1 false , label %store.throw7 , label %store.next8
129+ br i1 false , label %deref.throw , label %store.next4
145130
146- store .next8 : ; preds = %store.next
131+ store .next4 : ; preds = %store.next
147132 %7 = getelementptr inbounds nuw i8 , ptr %complit , i32 4
148133 %8 = add i32 %5 , %6
149134 store i32 %8 , ptr %7 , align 4
@@ -152,22 +137,7 @@ store.next8: ; preds = %store.next
152137 %10 = insertvalue %"main.Point[int]" %9 , i32 %8 , 1
153138 ret %"main.Point[int]" %10
154139
155- deref.throw: ; preds = %entry
156- unreachable
157-
158- deref.throw1: ; preds = %deref.next
159- unreachable
160-
161- deref.throw3: ; preds = %deref.next2
162- unreachable
163-
164- deref.throw5: ; preds = %deref.next4
165- unreachable
166-
167- store .throw: ; preds = %deref.next6
168- unreachable
169-
170- store .throw7: ; preds = %store.next
140+ deref.throw: ; preds = %store.next, %deref.next3, %deref.next2, %deref.next1, %deref.next, %entry
171141 unreachable
172142}
173143
0 commit comments