mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-15 06:29:05 +00:00
Move terminator machine verification to check MachineBasicBlock::instr_iterator instead of MBB::iterator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158154 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -596,6 +596,17 @@ void MachineVerifier::visitMachineBundleBefore(const MachineInstr *MI) {
|
|||||||
}
|
}
|
||||||
lastIndex = idx;
|
lastIndex = idx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ensure non-terminators don't follow terminators.
|
||||||
|
// Ignore predicated terminators formed by if conversion.
|
||||||
|
// FIXME: If conversion shouldn't need to violate this rule.
|
||||||
|
if (MI->isTerminator() && !TII->isPredicated(MI)) {
|
||||||
|
if (!FirstTerminator)
|
||||||
|
FirstTerminator = MI;
|
||||||
|
} else if (FirstTerminator) {
|
||||||
|
report("Non-terminator instruction after the first terminator", MI);
|
||||||
|
*OS << "First terminator was:\t" << *FirstTerminator;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MachineVerifier::visitMachineInstrBefore(const MachineInstr *MI) {
|
void MachineVerifier::visitMachineInstrBefore(const MachineInstr *MI) {
|
||||||
@@ -631,17 +642,6 @@ void MachineVerifier::visitMachineInstrBefore(const MachineInstr *MI) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure non-terminators don't follow terminators.
|
|
||||||
// Ignore predicated terminators formed by if conversion.
|
|
||||||
// FIXME: If conversion shouldn't need to violate this rule.
|
|
||||||
if (MI->isTerminator() && !TII->isPredicated(MI)) {
|
|
||||||
if (!FirstTerminator)
|
|
||||||
FirstTerminator = MI;
|
|
||||||
} else if (FirstTerminator) {
|
|
||||||
report("Non-terminator instruction after the first terminator", MI);
|
|
||||||
*OS << "First terminator was:\t" << *FirstTerminator;
|
|
||||||
}
|
|
||||||
|
|
||||||
StringRef ErrorInfo;
|
StringRef ErrorInfo;
|
||||||
if (!TII->verifyInstruction(MI, ErrorInfo))
|
if (!TII->verifyInstruction(MI, ErrorInfo))
|
||||||
report(ErrorInfo.data(), MI);
|
report(ErrorInfo.data(), MI);
|
||||||
|
Reference in New Issue
Block a user