@@ -16,27 +16,53 @@ body: |
16
16
; CHECK-NEXT: {{ $}}
17
17
; CHECK-NEXT: BL @OUTLINED_FUNCTION_0, implicit-def $lr, implicit $sp, implicit-def $lr, implicit-def $x0, implicit-def $x1, implicit-def $x2, implicit-def $x3, implicit-def $x16, implicit $x0, implicit $sp
18
18
; CHECK-NEXT: $x9 = ADDXri $x16, 16, 0
19
- ; CHECK-NEXT: $x16 = ADDXri killed $x16, 16, 0
19
+ ; CHECK-NEXT: $x16 = ADDXri killed $x16, 16, 1
20
20
; CHECK-NEXT: BL @OUTLINED_FUNCTION_0, implicit-def $lr, implicit $sp, implicit-def $lr, implicit-def $x0, implicit-def $x1, implicit-def $x2, implicit-def $x3, implicit-def $x16, implicit $x0, implicit $sp
21
21
; CHECK-NEXT: $x9 = ADDXri $x9, 16, 0
22
- ; CHECK-NEXT: $x16 = ADDXri killed $x16, 16, 0
22
+ ; CHECK-NEXT: $x16 = ADDXri killed $x16, 16, 2
23
23
; CHECK-NEXT: RET undef $x9
24
24
$x0 = ADDXri $x0, 0, 0
25
25
$x1 = ADDXri $x0, 1, 0
26
26
$x2 = ADDXri $x0, 2, 0
27
27
$x3 = ADDXri $x0, 3, 0
28
-
29
- ; End safe range
30
28
$x16 = ADDXri $x0, 16, 0
31
29
$x9 = ADDXri $x16, 16, 0
32
- $x16 = ADDXri killed $x16, 16, 0
33
-
30
+ $x16 = ADDXri killed $x16, 16, 1
31
+ ; End safe range
34
32
$x0 = ADDXri $x0, 0, 0
35
33
$x1 = ADDXri $x0, 1, 0
36
34
$x2 = ADDXri $x0, 2, 0
37
35
$x3 = ADDXri $x0, 3, 0
38
- ; End safe range
39
36
$x16 = ADDXri $x0, 16, 0
40
37
$x9 = ADDXri $x9, 16, 0
41
- $x16 = ADDXri killed $x16, 16, 0
38
+ $x16 = ADDXri killed $x16, 16, 2
39
+ ; End safe range
42
40
RET undef $x9
41
+ ...
42
+ ---
43
+ name : unsafe_range_bundle
44
+ tracksRegLiveness : true
45
+ machineFunctionInfo :
46
+ hasRedZone : false
47
+ body : |
48
+ bb.0:
49
+ liveins: $x0
50
+ ; CHECK-LABEL: name: unsafe_range_bundle
51
+ ; CHECK: liveins: $x0
52
+ ; CHECK-NEXT: {{ $}}
53
+ ; CHECK-NEXT: $x0 = ADDXri $x0, 0, 0
54
+ ; CHECK-NEXT: $x16 = ADDXri $x0, 16, 0
55
+ ; CHECK-NEXT: BUNDLE {
56
+ ; CHECK-NEXT: $x16 = ADDXri killed $x16, 16, 3
57
+ ; CHECK-NEXT: $x1 = ADDXri $x0, 0, 0
58
+ ; CHECK-NEXT: }
59
+ ; CHECK-NEXT: RET undef $x9
60
+ $x0 = ADDXri $x0, 0, 0
61
+ $x16 = ADDXri $x0, 16, 0
62
+ BUNDLE { ; Bundle crosses a safe range
63
+ $x16 = ADDXri killed $x16, 16, 3
64
+ ; End safe range
65
+ $x1 = ADDXri $x0, 0, 0
66
+ }
67
+ RET undef $x9
68
+ ...
0 commit comments