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 appropriate (default)."), clEnumValN(CB_Always, "always", "Always use compact branches if possible."))) |
|
const BB2BrMap & | BrMap |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "mips-delay-slot-filler" |
◆ CompactBranchPolicy
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 83 of file MipsDelaySlotFiller.cpp.
◆ addLiveInRegs()
◆ for()
◆ getEquivalentCallShort()
static int getEquivalentCallShort |
( |
int |
Opcode | ) |
|
|
static |
◆ hasUnoccupiedSlot()
◆ INITIALIZE_PASS()
INITIALIZE_PASS |
( |
MipsDelaySlotFiller |
, |
|
|
DEBUG_TYPE |
, |
|
|
"Fill delay slot for MIPS" |
, |
|
|
false |
, |
|
|
false |
|
|
) |
| |
This function inserts clones of Filler into predecessor blocks.
◆ STATISTIC() [1/2]
STATISTIC |
( |
FilledSlots |
, |
|
|
"Number of delay slots filled" |
|
|
) |
| |
◆ STATISTIC() [2/2]
STATISTIC |
( |
UsefulSlots |
, |
|
|
"Number of delay slots filled with instructions that" " are not NOP." |
|
|
) |
| |
◆ BrMap
◆ DisableBackwardSearch
cl::opt< bool > DisableBackwardSearch("disable-mips-df-backward-search", cl::init(false), cl::desc("Disallow MIPS delay filler to search backward."), cl::Hidden) |
( |
"disable-mips-df-backward-search" |
, |
|
|
cl::init(false) |
, |
|
|
cl::desc("Disallow MIPS delay filler to search backward.") |
, |
|
|
cl::Hidden |
|
|
) |
| |
|
static |
◆ DisableDelaySlotFiller
cl::opt< bool > DisableDelaySlotFiller("disable-mips-delay-filler", cl::init(false), cl::desc("Fill all delay slots with NOPs."), cl::Hidden) |
( |
"disable-mips-delay-filler" |
, |
|
|
cl::init(false) |
, |
|
|
cl::desc("Fill all delay slots with NOPs.") |
, |
|
|
cl::Hidden |
|
|
) |
| |
|
static |
◆ DisableForwardSearch
cl::opt< bool > DisableForwardSearch("disable-mips-df-forward-search", cl::init(true), cl::desc("Disallow MIPS delay filler to search forward."), cl::Hidden) |
( |
"disable-mips-df-forward-search" |
, |
|
|
cl::init(true) |
, |
|
|
cl::desc("Disallow MIPS delay filler to search forward.") |
, |
|
|
cl::Hidden |
|
|
) |
| |
|
static |
◆ DisableSuccBBSearch
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) |
( |
"disable-mips-df-succbb-search" |
, |
|
|
cl::init(true) |
, |
|
|
cl::desc("Disallow MIPS delay filler to search successor basic blocks.") |
, |
|
|
cl::Hidden |
|
|
) |
| |
|
static |
◆ MipsCompactBranchPolicy
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 appropriate (default)."), clEnumValN(CB_Always, "always", "Always use compact branches if possible."))) |
( |
"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 appropriate (default)."), clEnumValN(CB_Always, "always", "Always use compact branches if possible.")) |
|
|
) |
| |
|
static |