Go to the source code of this file.
|
| namespace | llvm |
| | This is an optimization pass for GlobalISel generic memory operations.
|
|
| LLVM_ABI bool | llvm::isSafeToMoveBefore (Instruction &I, Instruction &InsertPoint, DominatorTree &DT, const PostDominatorTree *PDT=nullptr, DependenceInfo *DI=nullptr, bool CheckForEntireBlock=false) |
| | Return true if I can be safely moved before InsertPoint.
|
| LLVM_ABI 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.
|
| LLVM_ABI 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.
|
| LLVM_ABI 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.
|
| LLVM_ABI bool | llvm::nonStrictlyPostDominate (const BasicBlock *ThisBlock, const BasicBlock *OtherBlock, const DominatorTree *DT, const PostDominatorTree *PDT) |
| | In case that two BBs ThisBlock and OtherBlock are control flow equivalent but they do not strictly dominate and post-dominate each other, we determine if ThisBlock is reached after OtherBlock in the control flow.
|
| LLVM_ABI bool | llvm::isReachedBefore (const Instruction *I0, const Instruction *I1, const DominatorTree *DT, const PostDominatorTree *PDT) |