Lines Matching defs:MergedLoadStoreMotion
1 //===- MergedLoadStoreMotion.cpp - merge and hoist/sink load/stores -------===//
78 #include "llvm/Transforms/Scalar/MergedLoadStoreMotion.h"
94 // MergedLoadStoreMotion Pass
96 class MergedLoadStoreMotion {
107 MergedLoadStoreMotion(bool SplitFooterBB) : SplitFooterBB(SplitFooterBB) {}
128 BasicBlock *MergedLoadStoreMotion::getDiamondTail(BasicBlock *BB) {
136 bool MergedLoadStoreMotion::isDiamondHead(BasicBlock *BB) {
168 bool MergedLoadStoreMotion::isStoreSinkBarrierInRange(const Instruction &Start,
183 StoreInst *MergedLoadStoreMotion::canSinkFromBlock(BasicBlock *BB1,
211 PHINode *MergedLoadStoreMotion::getPHIOperand(BasicBlock *BB, StoreInst *S0,
230 bool MergedLoadStoreMotion::canSinkStoresAndGEPs(StoreInst *S0,
246 void MergedLoadStoreMotion::sinkStoresAndGEPs(BasicBlock *BB, StoreInst *S0,
298 bool MergedLoadStoreMotion::mergeStores(BasicBlock *HeadBB) {
362 bool MergedLoadStoreMotion::run(Function &F, AliasAnalysis &AA) {
382 MergedLoadStoreMotion Impl(Options.SplitFooterBB);