summaryrefslogtreecommitdiff
path: root/test/CodeGen/MIR
diff options
context:
space:
mode:
authorGeoff Berry <gberry@codeaurora.org>2017-12-12 17:53:59 +0000
committerGeoff Berry <gberry@codeaurora.org>2017-12-12 17:53:59 +0000
commit3b391fe80e65f144d9e2e31a09e24f00ac7bb230 (patch)
tree2e73cc0bf11d06fa2c54f3d8b37e17a40fda4cf8 /test/CodeGen/MIR
parent9cc4cf09cace7a496734dfcfb5fd3227290e6cdf (diff)
[MachineOperand][MIR] Add isRenamable to MachineOperand.
Summary: Add isRenamable() predicate to MachineOperand. This predicate can be used by machine passes after register allocation to determine whether it is safe to rename a given register operand. Register operands that aren't marked as renamable may be required to be assigned their current register to satisfy constraints that are not captured by the machine IR (e.g. ABI or ISA constraints). Reviewers: qcolombet, MatzeB, hfinkel Subscribers: nemanjai, mcrosier, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D39400 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320503 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/MIR')
-rw-r--r--test/CodeGen/MIR/X86/renamable-register-flag.mir16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGen/MIR/X86/renamable-register-flag.mir b/test/CodeGen/MIR/X86/renamable-register-flag.mir
new file mode 100644
index 00000000000..3854a2877c0
--- /dev/null
+++ b/test/CodeGen/MIR/X86/renamable-register-flag.mir
@@ -0,0 +1,16 @@
+# RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
+# This test ensures that the MIR parser parses the 'renamable' register flags
+# correctly.
+
+--- |
+ define void @foo() { ret void }
+...
+---
+name: foo
+body: |
+ ; CHECK: bb.0:
+ bb.0:
+ ; CHECK: renamable %eax = IMUL32rri8 %edi, 11, implicit-def dead %eflags
+ renamable %eax = IMUL32rri8 %edi, 11, implicit-def dead %eflags
+ RETQ %eax
+...