Go to the source code of this file.
|
| 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) |
|
|
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()
Definition at line 111 of file TailDuplicator.cpp.
References llvm::MachineBasicBlock::begin(), llvm::dbgs(), llvm::drop_begin(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getNumber(), llvm_unreachable, MBB, MI, llvm::MachineBasicBlock::pred_begin(), llvm::MachineBasicBlock::pred_end(), and llvm::printMBBReference().
Referenced by llvm::TailDuplicator::tailDuplicateBlocks().
◆ 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