@@ -12,42 +12,76 @@ declare i32 @logg(...)
12
12
define i32 @scanfile (i32 %call148 ) {
13
13
; CHECK-TRANSLATOR-LABEL: name: scanfile
14
14
; 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)
16
16
; CHECK-TRANSLATOR-NEXT: liveins: $w0, $lr
17
17
; CHECK-TRANSLATOR-NEXT: {{ $}}
18
18
; CHECK-TRANSLATOR-NEXT: early-clobber $sp = frame-setup STPXpre $fp, killed $lr, $sp, -2 :: (store (s64) into %stack.1), (store (s64) into %stack.0)
19
19
; CHECK-TRANSLATOR-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16
20
20
; CHECK-TRANSLATOR-NEXT: frame-setup CFI_INSTRUCTION offset $w30, -8
21
21
; 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
24
26
; CHECK-TRANSLATOR-NEXT: {{ $}}
25
27
; 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
28
30
; CHECK-TRANSLATOR-NEXT: {{ $}}
29
- ; CHECK-TRANSLATOR-NEXT: CBZW renamable $w0 , %bb.4
31
+ ; CHECK-TRANSLATOR-NEXT: CBZW renamable $w8 , %bb.9
30
32
; CHECK-TRANSLATOR-NEXT: {{ $}}
31
33
; 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
34
36
; 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
37
39
; CHECK-TRANSLATOR-NEXT: {{ $}}
38
40
; 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:
40
48
; CHECK-TRANSLATOR-NEXT: liveins: $w0
41
49
; 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
44
59
; 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:
46
80
; CHECK-TRANSLATOR-NEXT: $w0 = ORRWrs $wzr, $wzr, 0
47
81
; CHECK-TRANSLATOR-NEXT: early-clobber $sp, $fp, $lr = frame-destroy LDPXpost $sp, 2 :: (load (s64) from %stack.1), (load (s64) from %stack.0)
48
82
; CHECK-TRANSLATOR-NEXT: RET undef $lr, implicit killed $w0
49
83
; CHECK-TRANSLATOR-NEXT: {{ $}}
50
- ; CHECK-TRANSLATOR-NEXT: bb.5 .sw.bb150:
84
+ ; CHECK-TRANSLATOR-NEXT: bb.10 .sw.bb150:
51
85
; CHECK-TRANSLATOR-NEXT: BL @logg, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def dead $w0
52
86
; CHECK-TRANSLATOR-NEXT: BRK 1
53
87
entry:
56
90
i32 -2 , label %sw.bb150
57
91
i32 0 , label %sw.bb152
58
92
i32 1 , label %sw.bb178
93
+ i32 2 , label %sw.bb200
94
+ i32 3 , label %sw.bb300
59
95
]
60
96
61
97
sw.bb: ; preds = %entry
@@ -66,6 +102,14 @@ sw.bb150: ; preds = %entry
66
102
%call151 = call i32 (...) @logg ()
67
103
unreachable
68
104
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
+
69
113
common .ret: ; preds = %sw.bb178, %sw.bb152, %entry
70
114
ret i32 0
71
115
0 commit comments