Go to the source code of this file.
|
| static cl::opt< bool > | DisableDelaySlotFiller ("disable-mips-delay-filler", cl::init(false), cl::desc("Fill all delay slots with NOPs."), cl::Hidden) |
| |
| static cl::opt< bool > | DisableForwardSearch ("disable-mips-df-forward-search", cl::init(true), cl::desc("Disallow MIPS delay filler to search forward."), cl::Hidden) |
| |
| static cl::opt< bool > | DisableSuccBBSearch ("disable-mips-df-succbb-search", cl::init(true), cl::desc("Disallow MIPS delay filler to search successor basic blocks."), cl::Hidden) |
| |
| static cl::opt< bool > | DisableBackwardSearch ("disable-mips-df-backward-search", cl::init(false), cl::desc("Disallow MIPS delay filler to search backward."), cl::Hidden) |
| |
static cl::opt
< CompactBranchPolicy > | MipsCompactBranchPolicy ("mips-compact-branches", cl::Optional, cl::init(CB_Optimal), cl::desc("MIPS Specific: Compact branch policy."), cl::values(clEnumValN(CB_Never,"never","Do not use compact branches if possible."), clEnumValN(CB_Optimal,"optimal","Use compact branches where appropiate (default)."), clEnumValN(CB_Always,"always","Always use compact branches if possible."))) |
| |
| #define DEBUG_TYPE "delay-slot-filler" |
| Enumerator |
|---|
| CB_Never |
The policy 'never' may in some circumstances or for some ISAs not be absolutely adhered to.
|
| CB_Optimal |
Optimal is the default and will produce compact branches when delay slots cannot be filled.
|
| CB_Always |
'always' may in some circumstances may not be absolutely adhered to there may not be a corresponding compact form of a branch.
|
Definition at line 65 of file MipsDelaySlotFiller.cpp.
This function adds registers Filler defines to MBB's live-in register list.
Definition at line 296 of file MipsDelaySlotFiller.cpp.
References llvm::MachineBasicBlock::addLiveIn(), assert(), E, llvm::TargetRegisterInfo::getAllocatableSet(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), I, llvm::MachineOperand::isDef(), llvm::MachineBasicBlock::isLiveIn(), llvm::MachineOperand::isReg(), and llvm::BitVector::test().
| static int getEquivalentCallShort |
( |
int |
Opcode | ) |
|
|
static |
| static void insertDelayFiller |
( |
Iter |
Filler, |
|
|
const BB2BrMap & |
BrMap |
|
) |
| |
|
static |
| STATISTIC |
( |
FilledSlots |
, |
|
|
"Number of delay slots filled" |
|
|
) |
| |
| STATISTIC |
( |
UsefulSlots |
, |
|
|
"Number of delay slots filled with instructions that"" are not NOP." |
|
|
) |
| |
| cl::opt<bool> DisableBackwardSearch("disable-mips-df-backward-search", cl::init(false), cl::desc("Disallow MIPS delay filler to search backward."), cl::Hidden) |
|
static |
| cl::opt<bool> DisableForwardSearch("disable-mips-df-forward-search", cl::init(true), cl::desc("Disallow MIPS delay filler to search forward."), cl::Hidden) |
|
static |
| cl::opt<bool> DisableSuccBBSearch("disable-mips-df-succbb-search", cl::init(true), cl::desc("Disallow MIPS delay filler to search successor basic blocks."), cl::Hidden) |
|
static |
| cl::opt<CompactBranchPolicy> MipsCompactBranchPolicy("mips-compact-branches", cl::Optional, cl::init(CB_Optimal), cl::desc("MIPS Specific: Compact branch policy."), cl::values(clEnumValN(CB_Never,"never","Do not use compact branches if possible."),clEnumValN(CB_Optimal,"optimal","Use compact branches where appropiate (default)."),clEnumValN(CB_Always,"always","Always use compact branches if possible."))) |
|
static |