diff options
author | Geoff Berry <gberry@codeaurora.org> | 2017-07-13 02:28:54 +0000 |
---|---|---|
committer | Geoff Berry <gberry@codeaurora.org> | 2017-07-13 02:28:54 +0000 |
commit | 9bf66c730c77aa6dd0b803aec481ff97a575144d (patch) | |
tree | 98dd7248d83358f274adf9bfa93484d5ab9d3f27 /test/CodeGen/MIR | |
parent | a204f092720492dd2067c26f7d383fb6dfaaa9e4 (diff) |
[MIR] Add support for printing and parsing target MMO flags
Summary: Add target hooks for printing and parsing target MMO flags.
Targets may override getSerializableMachineMemOperandTargetFlags() to
return a mapping from string to flag value for target MMO values that
should be serialized/parsed in MIR output.
Add implementation of this hook for AArch64 SuppressPair MMO flag.
Reviewers: bogner, hfinkel, qcolombet, MatzeB
Subscribers: mcrosier, javed.absar, llvm-commits
Differential Revision: https://reviews.llvm.org/D34962
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307877 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/MIR')
-rw-r--r-- | test/CodeGen/MIR/AArch64/invalid-target-memoperands.mir | 19 | ||||
-rw-r--r-- | test/CodeGen/MIR/AArch64/target-memoperands.mir | 22 |
2 files changed, 41 insertions, 0 deletions
diff --git a/test/CodeGen/MIR/AArch64/invalid-target-memoperands.mir b/test/CodeGen/MIR/AArch64/invalid-target-memoperands.mir new file mode 100644 index 00000000000..731d7165b9d --- /dev/null +++ b/test/CodeGen/MIR/AArch64/invalid-target-memoperands.mir @@ -0,0 +1,19 @@ +# RUN: not llc -mtriple=aarch64-none-linux-gnu -run-pass none -o /dev/null %s 2>&1 | FileCheck %s + +--- | + + define void @target_memoperands_error() { + ret void + } + +... +--- +name: target_memoperands_error +body: | + bb.0: + + %0:_(p0) = COPY %x0 + ; CHECK: [[@LINE+1]]:35: use of undefined target MMO flag 'aarch64-invalid' + %1:_(s64) = G_LOAD %0(p0) :: ("aarch64-invalid" load 8) + RET_ReallyLR +... diff --git a/test/CodeGen/MIR/AArch64/target-memoperands.mir b/test/CodeGen/MIR/AArch64/target-memoperands.mir new file mode 100644 index 00000000000..f853b551e09 --- /dev/null +++ b/test/CodeGen/MIR/AArch64/target-memoperands.mir @@ -0,0 +1,22 @@ +# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass none -o - %s | FileCheck %s + +--- | + + define void @target_memoperands() { + ret void + } + +... +--- +# CHECK-LABEL: name: target_memoperands +# CHECK: %1(s64) = G_LOAD %0(p0) :: ("aarch64-suppress-pair" load 8) +# CHECK: G_STORE %1(s64), %0(p0) :: ("aarch64-suppress-pair" store 8) +name: target_memoperands +body: | + bb.0: + + %0:_(p0) = COPY %x0 + %1:_(s64) = G_LOAD %0(p0) :: ("aarch64-suppress-pair" load 8) + G_STORE %1(s64), %0(p0) :: ("aarch64-suppress-pair" store 8) + RET_ReallyLR +... |