@@ -12,42 +12,76 @@ declare i32 @logg(...)
1212define i32 @scanfile (i32 %call148 ) {
1313 ; CHECK-TRANSLATOR-LABEL: name: scanfile
1414 ; CHECK-TRANSLATOR: bb.0.entry:
15- ; CHECK-TRANSLATOR-NEXT: successors: %bb.1(0x40000000), %bb.4 (0x40000000)
15+ ; CHECK-TRANSLATOR-NEXT: successors: %bb.1(0x40000000), %bb.5 (0x40000000)
1616 ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $lr
1717 ; CHECK-TRANSLATOR-NEXT: {{ $}}
1818 ; CHECK-TRANSLATOR-NEXT: early-clobber $sp = frame-setup STPXpre $fp, killed $lr, $sp, -2 :: (store (s64) into %stack.1), (store (s64) into %stack.0)
1919 ; CHECK-TRANSLATOR-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16
2020 ; CHECK-TRANSLATOR-NEXT: frame-setup CFI_INSTRUCTION offset $w30, -8
2121 ; CHECK-TRANSLATOR-NEXT: frame-setup CFI_INSTRUCTION offset $w29, -16
22- ; CHECK-TRANSLATOR-NEXT: dead $wzr = SUBSWri renamable $w0, 0, 0, implicit-def $nzcv
23- ; CHECK-TRANSLATOR-NEXT: Bcc 12, %bb.4, implicit $nzcv
22+ ; CHECK-TRANSLATOR-NEXT: $w8 = ORRWrs $wzr, $w0, 0
23+ ; CHECK-TRANSLATOR-NEXT: dead $wzr = SUBSWri killed $w0, 0, 0, implicit-def $nzcv
24+ ; CHECK-TRANSLATOR-NEXT: $w0 = ORRWrs $wzr, $wzr, 0
25+ ; CHECK-TRANSLATOR-NEXT: Bcc 12, %bb.5, implicit killed $nzcv
2426 ; CHECK-TRANSLATOR-NEXT: {{ $}}
2527 ; CHECK-TRANSLATOR-NEXT: bb.1.entry:
26- ; CHECK-TRANSLATOR-NEXT: successors: %bb.4(0x55555556 ), %bb.2(0x2aaaaaaa )
27- ; CHECK-TRANSLATOR-NEXT: liveins: $w0
28+ ; CHECK-TRANSLATOR-NEXT: successors: %bb.9(0x55555555 ), %bb.2(0x2aaaaaab )
29+ ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
2830 ; CHECK-TRANSLATOR-NEXT: {{ $}}
29- ; CHECK-TRANSLATOR-NEXT: CBZW renamable $w0 , %bb.4
31+ ; CHECK-TRANSLATOR-NEXT: CBZW renamable $w8 , %bb.9
3032 ; CHECK-TRANSLATOR-NEXT: {{ $}}
3133 ; CHECK-TRANSLATOR-NEXT: bb.2.entry:
32- ; CHECK-TRANSLATOR-NEXT: successors: %bb.5 (0x00000000), %bb.3(0x80000000)
33- ; CHECK-TRANSLATOR-NEXT: liveins: $w0
34+ ; CHECK-TRANSLATOR-NEXT: successors: %bb.10 (0x00000000), %bb.3(0x80000000)
35+ ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
3436 ; CHECK-TRANSLATOR-NEXT: {{ $}}
35- ; CHECK-TRANSLATOR-NEXT: dead $wzr = ADDSWri renamable $w0 , 2, 0, implicit-def $nzcv
36- ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.5 , implicit $nzcv
37+ ; CHECK-TRANSLATOR-NEXT: dead $wzr = ADDSWri renamable $w8 , 2, 0, implicit-def $nzcv
38+ ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.10 , implicit $nzcv
3739 ; CHECK-TRANSLATOR-NEXT: {{ $}}
3840 ; CHECK-TRANSLATOR-NEXT: bb.3.entry:
39- ; CHECK-TRANSLATOR-NEXT: successors: %bb.5(0x00000000), %bb.4(0x80000000)
41+ ; CHECK-TRANSLATOR-NEXT: successors: %bb.10(0x00000000), %bb.4(0x80000000)
42+ ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
43+ ; CHECK-TRANSLATOR-NEXT: {{ $}}
44+ ; CHECK-TRANSLATOR-NEXT: dead $wzr = ADDSWri killed renamable $w8, 1, 0, implicit-def $nzcv
45+ ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.10, implicit $nzcv
46+ ; CHECK-TRANSLATOR-NEXT: {{ $}}
47+ ; CHECK-TRANSLATOR-NEXT: bb.4.common.ret1:
4048 ; CHECK-TRANSLATOR-NEXT: liveins: $w0
4149 ; CHECK-TRANSLATOR-NEXT: {{ $}}
42- ; CHECK-TRANSLATOR-NEXT: dead $wzr = ADDSWri killed renamable $w0, 1, 0, implicit-def $nzcv
43- ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.5, implicit $nzcv
50+ ; CHECK-TRANSLATOR-NEXT: early-clobber $sp, $fp, $lr = frame-destroy LDPXpost $sp, 2 :: (load (s64) from %stack.1), (load (s64) from %stack.0)
51+ ; CHECK-TRANSLATOR-NEXT: RET undef $lr, implicit killed $w0
52+ ; CHECK-TRANSLATOR-NEXT: {{ $}}
53+ ; CHECK-TRANSLATOR-NEXT: bb.5.entry:
54+ ; CHECK-TRANSLATOR-NEXT: successors: %bb.9(0x24924925), %bb.6(0x5b6db6db)
55+ ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
56+ ; CHECK-TRANSLATOR-NEXT: {{ $}}
57+ ; CHECK-TRANSLATOR-NEXT: dead $wzr = SUBSWri renamable $w8, 1, 0, implicit-def $nzcv
58+ ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.9, implicit $nzcv
4459 ; CHECK-TRANSLATOR-NEXT: {{ $}}
45- ; CHECK-TRANSLATOR-NEXT: bb.4.common.ret:
60+ ; CHECK-TRANSLATOR-NEXT: bb.6.entry:
61+ ; CHECK-TRANSLATOR-NEXT: successors: %bb.8(0x33333333), %bb.7(0x4ccccccd)
62+ ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
63+ ; CHECK-TRANSLATOR-NEXT: {{ $}}
64+ ; CHECK-TRANSLATOR-NEXT: dead $wzr = SUBSWri renamable $w8, 2, 0, implicit-def $nzcv
65+ ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.8, implicit $nzcv
66+ ; CHECK-TRANSLATOR-NEXT: {{ $}}
67+ ; CHECK-TRANSLATOR-NEXT: bb.7.entry:
68+ ; CHECK-TRANSLATOR-NEXT: successors: %bb.8(0x55555555), %bb.4(0x2aaaaaab)
69+ ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
70+ ; CHECK-TRANSLATOR-NEXT: {{ $}}
71+ ; CHECK-TRANSLATOR-NEXT: dead $wzr = SUBSWri killed renamable $w8, 3, 0, implicit-def $nzcv
72+ ; CHECK-TRANSLATOR-NEXT: Bcc 1, %bb.4, implicit $nzcv
73+ ; CHECK-TRANSLATOR-NEXT: {{ $}}
74+ ; CHECK-TRANSLATOR-NEXT: bb.8.sw.bb300:
75+ ; CHECK-TRANSLATOR-NEXT: BL @logg, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $w0
76+ ; CHECK-TRANSLATOR-NEXT: early-clobber $sp, $fp, $lr = frame-destroy LDPXpost $sp, 2 :: (load (s64) from %stack.1), (load (s64) from %stack.0)
77+ ; CHECK-TRANSLATOR-NEXT: RET undef $lr, implicit killed $w0
78+ ; CHECK-TRANSLATOR-NEXT: {{ $}}
79+ ; CHECK-TRANSLATOR-NEXT: bb.9.sw.bb178:
4680 ; CHECK-TRANSLATOR-NEXT: $w0 = ORRWrs $wzr, $wzr, 0
4781 ; CHECK-TRANSLATOR-NEXT: early-clobber $sp, $fp, $lr = frame-destroy LDPXpost $sp, 2 :: (load (s64) from %stack.1), (load (s64) from %stack.0)
4882 ; CHECK-TRANSLATOR-NEXT: RET undef $lr, implicit killed $w0
4983 ; CHECK-TRANSLATOR-NEXT: {{ $}}
50- ; CHECK-TRANSLATOR-NEXT: bb.5 .sw.bb150:
84+ ; CHECK-TRANSLATOR-NEXT: bb.10 .sw.bb150:
5185 ; CHECK-TRANSLATOR-NEXT: BL @logg, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def dead $w0
5286 ; CHECK-TRANSLATOR-NEXT: BRK 1
5387entry:
5690 i32 -2 , label %sw.bb150
5791 i32 0 , label %sw.bb152
5892 i32 1 , label %sw.bb178
93+ i32 2 , label %sw.bb200
94+ i32 3 , label %sw.bb300
5995 ]
6096
6197sw.bb: ; preds = %entry
@@ -66,6 +102,14 @@ sw.bb150: ; preds = %entry
66102 %call151 = call i32 (...) @logg ()
67103 unreachable
68104
105+ sw.bb200:
106+ %res = call i32 (...) @logg ()
107+ ret i32 %res
108+
109+ sw.bb300:
110+ %res2 = call i32 (...) @logg ()
111+ ret i32 %res2
112+
69113common .ret: ; preds = %sw.bb178, %sw.bb152, %entry
70114 ret i32 0
71115
0 commit comments