LLVM  12.0.0git
Namespaces | Functions
CodeMoverUtils.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 This class represents lattice values for constants.
 

Functions

bool llvm::isControlFlowEquivalent (const Instruction &I0, const Instruction &I1, const DominatorTree &DT, const PostDominatorTree &PDT)
 Return true if I0 and I1 are control flow equivalent. More...
 
bool llvm::isControlFlowEquivalent (const BasicBlock &BB0, const BasicBlock &BB1, const DominatorTree &DT, const PostDominatorTree &PDT)
 Return true if BB0 and BB1 are control flow equivalent. More...
 
bool llvm::isSafeToMoveBefore (Instruction &I, Instruction &InsertPoint, DominatorTree &DT, const PostDominatorTree *PDT=nullptr, DependenceInfo *DI=nullptr)
 Return true if I can be safely moved before InsertPoint. More...
 
bool llvm::isSafeToMoveBefore (BasicBlock &BB, Instruction &InsertPoint, DominatorTree &DT, const PostDominatorTree *PDT=nullptr, DependenceInfo *DI=nullptr)
 Return true if all instructions (except the terminator) in BB can be safely moved before InsertPoint. More...
 
void llvm::moveInstructionsToTheBeginning (BasicBlock &FromBB, BasicBlock &ToBB, DominatorTree &DT, const PostDominatorTree &PDT, DependenceInfo &DI)
 Move instructions, in an order-preserving manner, from FromBB to the beginning of ToBB when proven safe. More...
 
void llvm::moveInstructionsToTheEnd (BasicBlock &FromBB, BasicBlock &ToBB, DominatorTree &DT, const PostDominatorTree &PDT, DependenceInfo &DI)
 Move instructions, in an order-preserving manner, from FromBB to the end of ToBB when proven safe. More...