LLVM: lib/Target/Mips/MipsDelaySlotFiller.cpp File Reference (original) (raw)
Go to the source code of this file.
| Macros |
|
| #define |
DEBUG_TYPE "mips-delay-slot-filler" |
| Variables |
|
| 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 80 of file MipsDelaySlotFiller.cpp.
◆ addLiveInRegs()
◆ for()
◆ getEquivalentCallShort()
| 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.
References DEBUG_TYPE.
◆ 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 |