diff options
author | Matthias Braun <matze@braunis.de> | 2018-11-02 18:22:15 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2018-11-02 18:22:15 +0000 |
commit | 5f7cb79e94e6ad4f34efe1f074956b7aaa05eaef (patch) | |
tree | 7a73c5805808a21713ef1450da096f59b9617e43 /llvm/test | |
parent | 45a148de854db888b27320b1cbc4d541f304a715 (diff) | |
download | bcm5719-llvm-5f7cb79e94e6ad4f34efe1f074956b7aaa05eaef.tar.gz bcm5719-llvm-5f7cb79e94e6ad4f34efe1f074956b7aaa05eaef.zip |
ARMExpandPseudoInsts: Fix CMP_SWAP expansion adding a kill flag to a def
llvm-svn: 346026
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/ARM/cmpxchg.mir | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/cmpxchg.mir b/llvm/test/CodeGen/ARM/cmpxchg.mir new file mode 100644 index 00000000000..6ae7e637249 --- /dev/null +++ b/llvm/test/CodeGen/ARM/cmpxchg.mir @@ -0,0 +1,24 @@ +# RUN: llc -o - %s -mtriple=armv7-unknown-linux-gnu -verify-machineinstrs -run-pass=arm-pseudo | FileCheck %s +--- +# CHECK-LABEL: name: func +name: func +tracksRegLiveness: true +body: | + bb.0: + liveins: $r0_r1, $r4_r5, $r3, $lr + dead early-clobber renamable $r0_r1, dead early-clobber renamable $r2 = CMP_SWAP_64 killed renamable $r3, killed renamable $r4_r5, renamable $r4_r5 :: (volatile load store monotonic monotonic 8) + ; CHECK: bb.0: + ; CHECK: liveins: $r0_r1, $r4_r5, $r3, $lr + ; CHECK: bb.1: + ; CHEKC: liveins: $r4_r5, $r3 + ; CHECK: $r0_r1 = LDREXD $r3, 14, $noreg + ; CHECK: CMPrr killed $r0, $r4, 14, $noreg, implicit-def $cpsr + ; CHECK: CMPrr killed $r1, $r5, 0, killed $cpsr, implicit-def $cpsr + ; CHECK: Bcc %bb.3, 1, killed $cpsr + ; CHECK: bb.2: + ; CHECK: liveins: $r4_r5, $r3 + ; CHECK: early-clobber $r2 = STREXD $r4_r5, $r3, 14, $noreg + ; CHECK: CMPri killed $r2, 0, 14, $noreg, implicit-def $cpsr + ; CHECK: Bcc %bb.1, 1, killed $cpsr + ; CHECK: bb.3: +... |