diff options
| author | Tim Northover <tnorthover@apple.com> | 2016-04-01 23:14:52 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2016-04-01 23:14:52 +0000 |
| commit | 5dad9df9f7bd38a076e3c7cdf22270faa17b877f (patch) | |
| tree | db30e605c436f12bac85516206a279d81e4e6a14 /llvm/test | |
| parent | 8af7bb28aa225fe30e0a682325b5b9f4df74d6fe (diff) | |
| download | bcm5719-llvm-5dad9df9f7bd38a076e3c7cdf22270faa17b877f.tar.gz bcm5719-llvm-5dad9df9f7bd38a076e3c7cdf22270faa17b877f.zip | |
AArch64: avoid clobbering SP for dead MOVimm pseudos.
We were producing ORR, which actually defines a GPR32sp rather than a GPR32.
Should fix PR23209.
llvm-svn: 265198
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/AArch64/movimm-wzr.mir | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/movimm-wzr.mir b/llvm/test/CodeGen/AArch64/movimm-wzr.mir new file mode 100644 index 00000000000..32d467628ed --- /dev/null +++ b/llvm/test/CodeGen/AArch64/movimm-wzr.mir @@ -0,0 +1,46 @@ +# RUN: llc -run-pass=aarch64-expand-pseudo %s | FileCheck %s + +--- | + ; ModuleID = 'simple.ll' + source_filename = "simple.ll" + target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" + target triple = "aarch64--linux-gnu" + + define i32 @test_mov_0() { + ret i32 42 + } + +... +--- +name: test_mov_0 +alignment: 2 +exposesReturnsTwice: false +hasInlineAsm: false +allVRegsAllocated: true +isSSA: false +tracksRegLiveness: false +tracksSubRegLiveness: false +frameInfo: + isFrameAddressTaken: false + isReturnAddressTaken: false + hasStackMap: false + hasPatchPoint: false + stackSize: 0 + offsetAdjustment: 0 + maxAlignment: 0 + adjustsStack: false + hasCalls: false + maxCallFrameSize: 0 + hasOpaqueSPAdjustment: false + hasVAStart: false + hasMustTailInVarArgFunc: false +body: | + bb.0 (%ir-block.0): + %wzr = MOVi32imm 42 + %xzr = MOVi64imm 42 + RET_ReallyLR implicit killed %w0 + +... + +# CHECK: bb.0 +# CHECK-NEXT: RET %lr |

