1
1
# RUN: llc -run-pass none -o - %s | FileCheck %s
2
- # Test that we can disable certain properties that are normally computed
2
+ # Test that we can disable certain properties that are normally computed. This
3
+ # override is a soft-override (only allows overriding when it relaxes the
4
+ # property). Therefore, a conflicting override (e.g. setting noPhis to true in
5
+ # the presence of PHI nodes) should not result in an error, but instead should
6
+ # use the computed property instead (noPhis = false in the mentioned example).
3
7
4
8
---
5
9
# CHECK-LABEL: name: TestNoPhis
@@ -15,6 +19,28 @@ name: TestNoPhisOverride
15
19
noPhis : false
16
20
...
17
21
---
22
+ # CHECK-LABEL: name: TestNoPhisOverrideTrue
23
+ # CHECK: noPhis: true
24
+ # CHECK: ...
25
+ name : TestNoPhisOverrideTrue
26
+ noPhis : true
27
+ ...
28
+ ---
29
+ # CHECK-LABEL: name: TestNoPhisOverrideConflict
30
+ # CHECK: noPhis: false
31
+ # CHECK: ...
32
+ name : TestNoPhisOverrideConflict
33
+ noPhis : true
34
+ tracksRegLiveness : true
35
+ body : |
36
+ bb.0:
37
+ %0:_(s32) = IMPLICIT_DEF
38
+
39
+ bb.1:
40
+ %1:_(s32) = PHI %0, %bb.0, %0, %bb.1
41
+ G_BR %bb.1
42
+ ...
43
+ ---
18
44
# CHECK-LABEL: name: TestIsSSA
19
45
# CHECK: isSSA: true
20
46
# CHECK: ...
@@ -28,6 +54,24 @@ name: TestIsSSAOverride
28
54
isSSA : false
29
55
...
30
56
---
57
+ # CHECK-LABEL: name: TestIsSSAOverrideTrue
58
+ # CHECK: isSSA: true
59
+ # CHECK: ...
60
+ name : TestIsSSAOverrideTrue
61
+ isSSA : true
62
+ ...
63
+ ---
64
+ # CHECK-LABEL: name: TestIsSSAOverrideConflict
65
+ # CHECK: isSSA: false
66
+ # CHECK: ...
67
+ name : TestIsSSAOverrideConflict
68
+ isSSA : true
69
+ body : |
70
+ bb.0:
71
+ %0:_(s32) = IMPLICIT_DEF
72
+ %0:_(s32) = IMPLICIT_DEF
73
+ ...
74
+ ---
31
75
# CHECK-LABEL: name: TestNoVRegs
32
76
# CHECK: noVRegs: true
33
77
# CHECK: ...
@@ -40,3 +84,20 @@ name: TestNoVRegs
40
84
name : TestNoVRegsOverride
41
85
noVRegs : false
42
86
...
87
+ ---
88
+ # CHECK-LABEL: name: TestNoVRegsOverrideTrue
89
+ # CHECK: noVRegs: true
90
+ # CHECK: ...
91
+ name : TestNoVRegsOverrideTrue
92
+ noVRegs : true
93
+ ...
94
+ ---
95
+ # CHECK-LABEL: name: TestNoVRegsOverrideConflict
96
+ # CHECK: noVRegs: false
97
+ # CHECK: ...
98
+ name : TestNoVRegsOverrideConflict
99
+ noVRegs : true
100
+ body : |
101
+ bb.0:
102
+ %0:_(s32) = IMPLICIT_DEF
103
+ ...
0 commit comments