llvm/test/CodeGen/MIR/Generic/global-isel-properties.mir
Ahmed Bougacha fc114db3c4 [GlobalISel] Add Selected MachineFunction property.
Selected: the InstructionSelect pass ran and all pre-isel generic
instructions have been eliminated; i.e., all instructions are now
target-specific or non-pre-isel generic instructions (e.g., COPY).

Since only pre-isel generic instructions can have generic virtual register
operands, this also means that all generic virtual registers have been
constrained to virtual registers (assigned to register classes) and that
all sizes attached to them have been eliminated.

This lets us enforce certain invariants across passes.
This property is GlobalISel-specific, but is always available.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277482 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-02 16:49:19 +00:00

41 lines
767 B
YAML

# RUN: llc -run-pass none -o - %s | FileCheck %s
# This test ensures that the MIR parser parses GlobalISel MachineFunction
# properties correctly.
# This doesn't require GlobalISel to be built, as the properties are always
# available in CodeGen.
--- |
define i32 @test_defaults() {
entry:
ret i32 0
}
define i32 @test() {
start:
ret i32 0
}
...
---
# CHECK-LABEL: name: test_defaults
# CHECK: legalized: false
# CHECK-NEXT: regBankSelected: false
# CHECK-NEXT: selected: false
name: test_defaults
body: |
bb.0:
...
---
# CHECK-LABEL: name: test
# CHECK: legalized: true
# CHECK-NEXT: regBankSelected: true
# CHECK-NEXT: selected: true
name: test
legalized: true
regBankSelected: true
selected: true
body: |
bb.0:
...