mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-19 01:27:40 +00:00
5ae700de13
This consolidates the vreg skip code into one function (SkipVRegs()). SkipVRegs() now knows if it should skip as if it is the first initialization or subsequent skips. The first skip is also done the first time createVirtualRegister is called by the cursor instead of by the cursor's constructor. This prevents verifier errors on machine functions that have no vregs (where the verifier will complain that there are vregs when the function uses none). Differential Revision: https://reviews.llvm.org/D62717 llvm-svn: 362195
32 lines
842 B
YAML
32 lines
842 B
YAML
# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass none -o - %s | FileCheck %s
|
|
# This test ensures that the MIR parser can parse multiple register machine
|
|
# operands before '='.
|
|
|
|
# This tests that a MIR file with no vregs does not get altered by mir-canon.
|
|
# RUN: llc -mtriple=aarch64 -o - -run-pass mir-canonicalizer -verify-machineinstrs %s
|
|
|
|
--- |
|
|
|
|
declare void @foo()
|
|
|
|
define void @trivial_fp_func() {
|
|
entry:
|
|
call void @foo()
|
|
ret void
|
|
}
|
|
|
|
...
|
|
---
|
|
name: trivial_fp_func
|
|
body: |
|
|
bb.0.entry:
|
|
liveins: $lr, $fp, $lr, $fp
|
|
|
|
$sp = frame-setup STPXpre killed $fp, killed $lr, $sp, -2
|
|
$fp = frame-setup ADDXri $sp, 0, 0
|
|
BL @foo, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp
|
|
; CHECK: $sp, $fp, $lr = LDPXpost $sp, 2
|
|
$sp, $fp, $lr = LDPXpost $sp, 2
|
|
RET_ReallyLR
|
|
...
|