mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
Add a command line option to skip the delay slot filler pass entirely for Mips.
The purpose of this option is to silence error messages issued by machine verifier passes and enable them to run to the end. If this option is not provided, -verify-machineinstrs complains when it discovers there is a non-terminator instruction (an instruction that is in a delay slot) after the first terminator in a basic block. llvm-svn: 156790
This commit is contained in:
parent
d6a42acd4e
commit
6652e4ae4b
@ -36,6 +36,13 @@ static cl::opt<bool> EnableDelaySlotFiller(
|
||||
cl::desc("Fill the Mips delay slots useful instructions."),
|
||||
cl::Hidden);
|
||||
|
||||
// This option can be used to silence complaints by machine verifier passes.
|
||||
static cl::opt<bool> SkipDelaySlotFiller(
|
||||
"skip-mips-delay-filler",
|
||||
cl::init(false),
|
||||
cl::desc("Skip MIPS' delay slot filling pass."),
|
||||
cl::Hidden);
|
||||
|
||||
namespace {
|
||||
struct Filler : public MachineFunctionPass {
|
||||
|
||||
@ -53,6 +60,9 @@ namespace {
|
||||
|
||||
bool runOnMachineBasicBlock(MachineBasicBlock &MBB);
|
||||
bool runOnMachineFunction(MachineFunction &F) {
|
||||
if (SkipDelaySlotFiller)
|
||||
return false;
|
||||
|
||||
bool Changed = false;
|
||||
for (MachineFunction::iterator FI = F.begin(), FE = F.end();
|
||||
FI != FE; ++FI)
|
||||
|
Loading…
Reference in New Issue
Block a user