LLVM: lib/CodeGen/TailDuplicator.cpp File Reference (original) (raw)
Go to the source code of this file.
| Functions |
|
|
STATISTIC (NumTails, "Number of tails duplicated") |
|
STATISTIC (NumTailDups, "Number of tail duplicated blocks") |
|
STATISTIC (NumTailDupAdded, "Number of instructions added due to tail duplication") |
|
STATISTIC (NumTailDupRemoved, "Number of instructions removed due to tail duplication") |
|
STATISTIC (NumDeadBlocks, "Number of dead blocks removed") |
|
STATISTIC (NumAddedPHIs, "Number of phis added") |
| static void |
VerifyPHIs (MachineFunction &MF, bool CheckExtra) |
| static bool |
isDefLiveOut (Register Reg, MachineBasicBlock *BB, const MachineRegisterInfo *MRI) |
| static unsigned |
getPHISrcRegOpIdx (MachineInstr *MI, MachineBasicBlock *SrcBB) |
| static void |
getRegsUsedByPHIs (const MachineBasicBlock &BB, DenseSet< Register > *UsedByPhi) |
| static bool |
bothUsedInPHI (const MachineBasicBlock &A, const SmallPtrSet< MachineBasicBlock *, 8 > &SuccsB) |
| Variables |
|
| static cl::opt< unsigned > |
TailDuplicateSize ("tail-dup-size", cl::desc("Maximum instructions to consider tail duplicating"), cl::init(2), cl::Hidden) |
| static cl::opt< unsigned > |
TailDupIndirectBranchSize ("tail-dup-indirect-size", cl::desc("Maximum instructions to consider tail duplicating blocks that " "end with indirect branches."), cl::init(20), cl::Hidden) |
| static cl::opt< unsigned > |
TailDupPredSize ("tail-dup-pred-size", cl::desc("Maximum predecessors (maximum successors at the " "same time) to consider tail duplicating blocks."), cl::init(16), cl::Hidden) |
| static cl::opt< unsigned > |
TailDupSuccSize ("tail-dup-succ-size", cl::desc("Maximum successors (maximum predecessors at the " "same time) to consider tail duplicating blocks."), cl::init(16), cl::Hidden) |
| static cl::opt< bool > |
TailDupVerify ("tail-dup-verify", cl::desc("Verify sanity of PHI instructions during taildup"), cl::init(false), cl::Hidden) |
| static cl::opt< unsigned > |
TailDupLimit ("tail-dup-limit", cl::init(~0U), cl::Hidden) |
◆ DEBUG_TYPE
#define DEBUG_TYPE "tailduplication"
◆ bothUsedInPHI()
◆ getPHISrcRegOpIdx()
◆ getRegsUsedByPHIs()
◆ isDefLiveOut()
◆ STATISTIC() [1/6]
| STATISTIC |
( |
NumAddedPHIs |
, |
| "Number of phis added" |
) |
|
|
◆ STATISTIC() [2/6]
| STATISTIC |
( |
NumDeadBlocks |
, |
| "Number of dead blocks removed" |
) |
|
|
◆ STATISTIC() [3/6]
| STATISTIC |
( |
NumTailDupAdded |
, |
| "Number of instructions added due to tail duplication" |
) |
|
|
◆ STATISTIC() [4/6]
| STATISTIC |
( |
NumTailDupRemoved |
, |
| "Number of instructions removed due to tail duplication" |
) |
|
|
◆ STATISTIC() [5/6]
| STATISTIC |
( |
NumTailDups |
, |
| "Number of tail duplicated blocks" |
) |
|
|
◆ STATISTIC() [6/6]
| STATISTIC |
( |
NumTails |
, |
| "Number of tails duplicated" |
) |
|
|
◆ VerifyPHIs()
◆ TailDupIndirectBranchSize
| cl::opt< unsigned > TailDupIndirectBranchSize("tail-dup-indirect-size", cl::desc("Maximum instructions to consider tail duplicating blocks that " "end with indirect branches."), cl::init(20), cl::Hidden) ( "tail-dup-indirect-size" , cl::desc("Maximum instructions to consider tail duplicating blocks that " "end with indirect branches.") , cl::init(20) , cl::Hidden ) |
static |
◆ TailDuplicateSize
◆ TailDupLimit
| cl::opt< unsigned > TailDupLimit("tail-dup-limit", cl::init(~0U), cl::Hidden) ( "tail-dup-limit" , cl::init(~0U) , cl::Hidden ) |
static |
◆ TailDupPredSize
| cl::opt< unsigned > TailDupPredSize("tail-dup-pred-size", cl::desc("Maximum predecessors (maximum successors at the " "same time) to consider tail duplicating blocks."), cl::init(16), cl::Hidden) ( "tail-dup-pred-size" , cl::desc("Maximum predecessors (maximum successors at the " "same time) to consider tail duplicating blocks.") , cl::init(16) , cl::Hidden ) |
static |
◆ TailDupSuccSize
| cl::opt< unsigned > TailDupSuccSize("tail-dup-succ-size", cl::desc("Maximum successors (maximum predecessors at the " "same time) to consider tail duplicating blocks."), cl::init(16), cl::Hidden) ( "tail-dup-succ-size" , cl::desc("Maximum successors (maximum predecessors at the " "same time) to consider tail duplicating blocks.") , cl::init(16) , cl::Hidden ) |
static |
◆ TailDupVerify