Skip to content

Commit aa80b71

Browse files
committed
Add tests for explicit true values and conflicting values
1 parent 3ef9706 commit aa80b71

File tree

1 file changed

+62
-1
lines changed

1 file changed

+62
-1
lines changed

llvm/test/CodeGen/MIR/Generic/machine-function-optionally-computed-properties.mir

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# 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).
37

48
---
59
# CHECK-LABEL: name: TestNoPhis
@@ -15,6 +19,28 @@ name: TestNoPhisOverride
1519
noPhis: false
1620
...
1721
---
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+
---
1844
# CHECK-LABEL: name: TestIsSSA
1945
# CHECK: isSSA: true
2046
# CHECK: ...
@@ -28,6 +54,24 @@ name: TestIsSSAOverride
2854
isSSA: false
2955
...
3056
---
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+
---
3175
# CHECK-LABEL: name: TestNoVRegs
3276
# CHECK: noVRegs: true
3377
# CHECK: ...
@@ -40,3 +84,20 @@ name: TestNoVRegs
4084
name: TestNoVRegsOverride
4185
noVRegs: false
4286
...
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

Comments
 (0)