Lines Matching defs:MergedLoadStoreMotion
1 //===- MergedLoadStoreMotion.cpp - merge and hoist/sink load/stores -------===//
78 #include "llvm/Transforms/Scalar/MergedLoadStoreMotion.h"
95 // MergedLoadStoreMotion Pass
97 class MergedLoadStoreMotion {
108 MergedLoadStoreMotion(bool SplitFooterBB) : SplitFooterBB(SplitFooterBB) {}
129 BasicBlock *MergedLoadStoreMotion::getDiamondTail(BasicBlock *BB) {
137 bool MergedLoadStoreMotion::isDiamondHead(BasicBlock *BB) {
169 bool MergedLoadStoreMotion::isStoreSinkBarrierInRange(const Instruction &Start,
184 StoreInst *MergedLoadStoreMotion::canSinkFromBlock(BasicBlock *BB1,
212 PHINode *MergedLoadStoreMotion::getPHIOperand(BasicBlock *BB, StoreInst *S0,
231 bool MergedLoadStoreMotion::canSinkStoresAndGEPs(StoreInst *S0,
247 void MergedLoadStoreMotion::sinkStoresAndGEPs(BasicBlock *BB, StoreInst *S0,
300 bool MergedLoadStoreMotion::mergeStores(BasicBlock *HeadBB) {
364 bool MergedLoadStoreMotion::run(Function &F, AliasAnalysis &AA) {
384 MergedLoadStoreMotion Impl(Options.SplitFooterBB);