Go to the source code of this file.
| Functions |
|
|
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" |
) |
|
|