Go to the source code of this file.
|
| STATISTIC (HasDependences, "Cannot move across instructions that has memory dependences") |
|
| STATISTIC (MayThrowException, "Cannot move across instructions that may throw") |
|
| STATISTIC (NotControlFlowEquivalent, "Instructions are not control flow equivalent") |
|
| STATISTIC (NotMovedPHINode, "Movement of PHINodes are not supported") |
|
| STATISTIC (NotMovedTerminator, "Movement of Terminator are not supported") |
|
static bool | domTreeLevelBefore (DominatorTree *DT, const Instruction *InstA, const Instruction *InstB) |
|
static bool | reportInvalidCandidate (const Instruction &I, llvm::Statistic &Stat) |
|
static void | collectInstructionsInBetween (Instruction &StartInst, const Instruction &EndInst, SmallPtrSetImpl< Instruction * > &InBetweenInsts) |
| Collect all instructions in between StartInst and EndInst , and store them in InBetweenInsts .
|
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "codemover-utils" |
◆ collectInstructionsInBetween()
◆ domTreeLevelBefore()
◆ reportInvalidCandidate()
◆ STATISTIC() [1/5]
STATISTIC |
( |
HasDependences |
, |
|
|
"Cannot move across instructions that has memory dependences" |
|
|
) |
| |
◆ STATISTIC() [2/5]
STATISTIC |
( |
MayThrowException |
, |
|
|
"Cannot move across instructions that may throw" |
|
|
) |
| |
◆ STATISTIC() [3/5]
STATISTIC |
( |
NotControlFlowEquivalent |
, |
|
|
"Instructions are not control flow equivalent" |
|
|
) |
| |
◆ STATISTIC() [4/5]
STATISTIC |
( |
NotMovedPHINode |
, |
|
|
"Movement of PHINodes are not supported" |
|
|
) |
| |
◆ STATISTIC() [5/5]
STATISTIC |
( |
NotMovedTerminator |
, |
|
|
"Movement of Terminator are not supported" |
|
|
) |
| |