mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-31 07:43:37 +00:00
MIR Parser: Run the machine verifier after initializing machine functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243128 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8530ec85c1
commit
56cf65b377
@ -325,6 +325,10 @@ bool MIRParserImpl::initializeMachineFunction(MachineFunction &MF) {
|
||||
PFS))
|
||||
return true;
|
||||
}
|
||||
// FIXME: This is a temporary workaround until the reserved registers can be
|
||||
// serialized.
|
||||
MF.getRegInfo().freezeReservedRegs(MF);
|
||||
MF.verify();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -18,8 +18,8 @@ body:
|
||||
- id: 0
|
||||
name: entry
|
||||
instructions:
|
||||
# CHECK: - MOV32rr
|
||||
# CHECK-NEXT: - RETQ
|
||||
- MOV32rr
|
||||
- ' RETQ '
|
||||
# CHECK: MOV32rr
|
||||
# CHECK-NEXT: RETQ
|
||||
- '%eax = MOV32rr %eax'
|
||||
- ' RETQ %eax'
|
||||
...
|
||||
|
23
test/CodeGen/MIR/X86/machine-verifier.mir
Normal file
23
test/CodeGen/MIR/X86/machine-verifier.mir
Normal file
@ -0,0 +1,23 @@
|
||||
# RUN: not llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
|
||||
# This test ensures that the MIR parser runs the machine verifier after parsing.
|
||||
|
||||
--- |
|
||||
|
||||
define i32 @inc(i32 %a) {
|
||||
entry:
|
||||
ret i32 %a
|
||||
}
|
||||
|
||||
...
|
||||
---
|
||||
name: inc
|
||||
body:
|
||||
- id: 0
|
||||
name: entry
|
||||
liveins: [ '%edi' ]
|
||||
instructions:
|
||||
# CHECK: *** Bad machine code: Too few operands ***
|
||||
# CHECK: instruction: COPY2 operands expected, but 0 given.
|
||||
- 'COPY'
|
||||
- 'RETQ'
|
||||
...
|
Loading…
x
Reference in New Issue
Block a user