@@ -18,7 +18,7 @@ void sw1(int a) {
1818}
1919
2020// CIR: cir.func @_Z3sw1i
21- // CIR: cir.switch (%3 : !s32i) {
21+ // CIR: cir.switch (%[[COND:.*]] : !s32i) {
2222// CIR-NEXT: cir.case(equal, [#cir.int<0> : !s32i]) {
2323// CIR: cir.break
2424// CIR: cir.case(equal, [#cir.int<1> : !s32i]) {
@@ -67,12 +67,12 @@ void sw2(int a) {
6767
6868// CIR: cir.func @_Z3sw2i
6969// CIR: cir.scope {
70- // CIR-NEXT: %1 = cir.alloca !s32i, !cir.ptr<!s32i>, ["yolo", init]
71- // CIR-NEXT: %2 = cir.alloca !s32i, !cir.ptr<!s32i>, ["fomo", init]
72- // CIR: cir.switch (%4 : !s32i) {
70+ // CIR-NEXT: %[[YOLO:.*]] = cir.alloca !s32i, !cir.ptr<!s32i>, ["yolo", init]
71+ // CIR-NEXT: %[[FOMO:.*]] = cir.alloca !s32i, !cir.ptr<!s32i>, ["fomo", init]
72+ // CIR: cir.switch (%[[COND:.*]] : !s32i) {
7373// CIR-NEXT: cir.case(equal, [#cir.int<3> : !s32i]) {
74- // CIR-NEXT: %5 = cir.const #cir.int<0> : !s32i
75- // CIR-NEXT: cir.store %5 , %2 : !s32i, !cir.ptr<!s32i>
74+ // CIR-NEXT: %[[ZERO:.*]] = cir.const #cir.int<0> : !s32i
75+ // CIR-NEXT: cir.store %[[ZERO]] , %[[FOMO]] : !s32i, !cir.ptr<!s32i>
7676
7777// OGCG: define dso_local void @_Z3sw2i
7878// OGCG: entry:
@@ -101,8 +101,8 @@ void sw3(int a) {
101101
102102// CIR: cir.func @_Z3sw3i
103103// CIR: cir.scope {
104- // CIR-NEXT: %1 = cir.load %0 : !cir.ptr<!s32i>, !s32i
105- // CIR-NEXT: cir.switch (%1 : !s32i) {
104+ // CIR-NEXT: %[[COND:.*]] = cir.load %[[A:.*]] : !cir.ptr<!s32i>, !s32i
105+ // CIR-NEXT: cir.switch (%[[COND]] : !s32i) {
106106// CIR-NEXT: cir.case(default, []) {
107107// CIR-NEXT: cir.break
108108// CIR-NEXT: }
@@ -131,24 +131,24 @@ int sw4(int a) {
131131}
132132
133133// CIR: cir.func @_Z3sw4i
134- // CIR: cir.switch (%4 : !s32i) {
134+ // CIR: cir.switch (%[[COND:.*]] : !s32i) {
135135// CIR-NEXT: cir.case(equal, [#cir.int<42> : !s32i]) {
136136// CIR-NEXT: cir.scope {
137- // CIR-NEXT: %5 = cir.const #cir.int<3> : !s32i
138- // CIR-NEXT: cir.store %5 , %1 : !s32i, !cir.ptr<!s32i>
139- // CIR-NEXT: %6 = cir.load %1 : !cir.ptr<!s32i>, !s32i
140- // CIR-NEXT: cir.return %6 : !s32i
137+ // CIR-NEXT: %[[THREE:.*]] = cir.const #cir.int<3> : !s32i
138+ // CIR-NEXT: cir.store %[[THREE]] , %[[RETVAL:.*]] : !s32i, !cir.ptr<!s32i>
139+ // CIR-NEXT: %[[RET3:.*]] = cir.load %[[RETVAL]] : !cir.ptr<!s32i>, !s32i
140+ // CIR-NEXT: cir.return %[[RET3]] : !s32i
141141// CIR-NEXT: }
142142// CIR-NEXT: cir.yield
143143// CIR-NEXT: }
144144// CIR-NEXT: cir.case(default, []) {
145- // CIR-NEXT: %5 = cir.const #cir.int<2> : !s32i
146- // CIR-NEXT: cir.store %5 , %1 : !s32i, !cir.ptr<!s32i>
147- // CIR-NEXT: %6 = cir.load %1 : !cir.ptr<!s32i>, !s32i
148- // CIR-NEXT: cir.return %6 : !s32i
145+ // CIR-NEXT: %[[TWO:.*]] = cir.const #cir.int<2> : !s32i
146+ // CIR-NEXT: cir.store %[[TWO]] , %[[RETVAL]] : !s32i, !cir.ptr<!s32i>
147+ // CIR-NEXT: %[[RET2:.*]] = cir.load %[[RETVAL]] : !cir.ptr<!s32i>, !s32i
148+ // CIR-NEXT: cir.return %[[RET2]] : !s32i
149149// CIR-NEXT: }
150150// CIR-NEXT: cir.yield
151- // CIR-NEXT: }
151+ // CIR-NEXT: }
152152
153153// OGCG: define dso_local noundef i32 @_Z3sw4i
154154// OGCG: entry:
@@ -173,7 +173,7 @@ void sw5(int a) {
173173}
174174
175175// CIR: cir.func @_Z3sw5i
176- // CIR: cir.switch (%1 : !s32i) {
176+ // CIR: cir.switch (%[[A:.*]] : !s32i) {
177177// CIR-NEXT: cir.case(equal, [#cir.int<1> : !s32i]) {
178178// CIR-NEXT: cir.yield
179179// CIR-NEXT: }
@@ -206,7 +206,7 @@ void sw6(int a) {
206206}
207207
208208// CIR: cir.func @_Z3sw6i
209- // CIR: cir.switch (%1 : !s32i) {
209+ // CIR: cir.switch (%[[A:.*]] : !s32i) {
210210// CIR-NEXT: cir.case(equal, [#cir.int<0> : !s32i]) {
211211// CIR-NEXT: cir.yield
212212// CIR-NEXT: }
@@ -261,7 +261,9 @@ void sw7(int a) {
261261}
262262
263263// CIR: cir.func @_Z3sw7i
264- // CIR: cir.case(equal, [#cir.int<0> : !s32i]) {
264+ // CIR: %[[X:.*]] = cir.alloca !s32i, !cir.ptr<!s32i>, ["x"]
265+ // CIR: cir.switch (%[[A:.*]] : !s32i)
266+ // CIR-NEXT: cir.case(equal, [#cir.int<0> : !s32i]) {
265267// CIR-NEXT: cir.yield
266268// CIR-NEXT: }
267269// CIR-NEXT: cir.case(equal, [#cir.int<1> : !s32i]) {
@@ -279,6 +281,8 @@ void sw7(int a) {
279281// CIR-NEXT: cir.case(equal, [#cir.int<5> : !s32i]) {
280282// CIR-NEXT: cir.break
281283// CIR-NEXT: }
284+ // CIR-NEXT: cir.yield
285+ // CIR: }
282286
283287// OGCG: define dso_local void @_Z3sw7i
284288// OGCG: entry:
@@ -312,7 +316,8 @@ void sw8(int a) {
312316}
313317
314318// CIR: cir.func @_Z3sw8i
315- // CIR: cir.case(equal, [#cir.int<3> : !s32i]) {
319+ // CIR: cir.switch (%[[A:.*]] : !s32i)
320+ // CIR-NEXT: cir.case(equal, [#cir.int<3> : !s32i]) {
316321// CIR-NEXT: cir.break
317322// CIR-NEXT: }
318323// CIR-NEXT: cir.case(equal, [#cir.int<4> : !s32i]) {
@@ -352,7 +357,8 @@ void sw9(int a) {
352357}
353358
354359// CIR: cir.func @_Z3sw9i
355- // CIR: cir.case(equal, [#cir.int<3> : !s32i]) {
360+ // CIR: cir.switch (%[[A:.*]] : !s32i)
361+ // CIR-NEXT: cir.case(equal, [#cir.int<3> : !s32i]) {
356362// CIR-NEXT: cir.break
357363// CIR-NEXT: }
358364// CIR-NEXT: cir.case(default, []) {
@@ -391,19 +397,20 @@ void sw10(int a) {
391397 }
392398}
393399
394- // CIR: cir.func @_Z4sw10i
395- // CIR: cir.case(equal, [#cir.int<3> : !s32i]) {
396- // CIR-NEXT: cir.break
397- // CIR-NEXT: }
398- // CIR-NEXT: cir.case(equal, [#cir.int<4> : !s32i]) {
399- // CIR-NEXT: cir.yield
400- // CIR-NEXT: }
401- // CIR-NEXT: cir.case(default, []) {
402- // CIR-NEXT: cir.yield
403- // CIR-NEXT: }
404- // CIR-NEXT: cir.case(equal, [#cir.int<5> : !s32i]) {
405- // CIR-NEXT: cir.break
406- // CIR-NEXT: }
400+ // CIR: cir.func @_Z4sw10i
401+ // CIR: cir.switch (%[[A:.*]] : !s32i)
402+ // CIR-NEXT: cir.case(equal, [#cir.int<3> : !s32i]) {
403+ // CIR-NEXT: cir.break
404+ // CIR-NEXT: }
405+ // CIR-NEXT: cir.case(equal, [#cir.int<4> : !s32i]) {
406+ // CIR-NEXT: cir.yield
407+ // CIR-NEXT: }
408+ // CIR-NEXT: cir.case(default, []) {
409+ // CIR-NEXT: cir.yield
410+ // CIR-NEXT: }
411+ // CIR-NEXT: cir.case(equal, [#cir.int<5> : !s32i]) {
412+ // CIR-NEXT: cir.break
413+ // CIR-NEXT: }
407414
408415// OGCG: define dso_local void @_Z4sw10i
409416// OGCG: entry:
@@ -439,25 +446,26 @@ void sw11(int a) {
439446 }
440447}
441448
442- // CIR: cir.func @_Z4sw11i
443- // CIR: cir.case(equal, [#cir.int<3> : !s32i]) {
444- // CIR-NEXT: cir.break
445- // CIR-NEXT: }
446- // CIR-NEXT: cir.case(equal, [#cir.int<4> : !s32i]) {
447- // CIR-NEXT: cir.yield
448- // CIR-NEXT: }
449- // CIR-NEXT: cir.case(equal, [#cir.int<5> : !s32i]) {
450- // CIR-NEXT: cir.yield
451- // CIR-NEXT: }
452- // CIR-NEXT: cir.case(default, []) {
453- // CIR-NEXT: cir.yield
454- // CIR-NEXT: }
455- // CIR-NEXT: cir.case(equal, [#cir.int<6> : !s32i]) {
456- // CIR-NEXT: cir.yield
457- // CIR-NEXT: }
458- // CIR-NEXT: cir.case(equal, [#cir.int<7> : !s32i]) {
459- // CIR-NEXT: cir.break
460- // CIR-NEXT: }
449+ // CIR: cir.func @_Z4sw11i
450+ // CIR: cir.switch (%[[A:.*]] : !s32i)
451+ // CIR-NEXT: cir.case(equal, [#cir.int<3> : !s32i]) {
452+ // CIR-NEXT: cir.break
453+ // CIR-NEXT: }
454+ // CIR-NEXT: cir.case(equal, [#cir.int<4> : !s32i]) {
455+ // CIR-NEXT: cir.yield
456+ // CIR-NEXT: }
457+ // CIR-NEXT: cir.case(equal, [#cir.int<5> : !s32i]) {
458+ // CIR-NEXT: cir.yield
459+ // CIR-NEXT: }
460+ // CIR-NEXT: cir.case(default, []) {
461+ // CIR-NEXT: cir.yield
462+ // CIR-NEXT: }
463+ // CIR-NEXT: cir.case(equal, [#cir.int<6> : !s32i]) {
464+ // CIR-NEXT: cir.yield
465+ // CIR-NEXT: }
466+ // CIR-NEXT: cir.case(equal, [#cir.int<7> : !s32i]) {
467+ // CIR-NEXT: cir.break
468+ // CIR-NEXT: }
461469
462470// OGCG: define dso_local void @_Z4sw11i
463471// OGCG: entry:
@@ -533,7 +541,7 @@ void sw13(int a, int b) {
533541// CIR-NEXT: cir.yield
534542// CIR-NEXT: }
535543// CIR-NEXT: }
536- // CIR: cir.yield
544+ // CIR: cir.yield
537545// CIR: }
538546// CIR: cir.return
539547
@@ -688,7 +696,7 @@ int nested_switch(int a) {
688696 return 0 ;
689697}
690698
691- // CIR: cir.switch (%6 : !s32i) {
699+ // CIR: cir.switch (%[[COND:.*]] : !s32i) {
692700// CIR: cir.case(equal, [#cir.int<0> : !s32i]) {
693701// CIR: cir.yield
694702// CIR: }
0 commit comments