Lines Matching defs:MergedLoadStoreMotion
1 //===- MergedLoadStoreMotion.cpp - merge and hoist/sink load/stores -------===//
78 #include "llvm/Transforms/Scalar/MergedLoadStoreMotion.h"
98 // MergedLoadStoreMotion Pass
100 class MergedLoadStoreMotion {
111 MergedLoadStoreMotion(bool SplitFooterBB) : SplitFooterBB(SplitFooterBB) {}
132 BasicBlock *MergedLoadStoreMotion::getDiamondTail(BasicBlock *BB) {
140 bool MergedLoadStoreMotion::isDiamondHead(BasicBlock *BB) {
172 bool MergedLoadStoreMotion::isStoreSinkBarrierInRange(const Instruction &Start,
187 StoreInst *MergedLoadStoreMotion::canSinkFromBlock(BasicBlock *BB1,
210 PHINode *MergedLoadStoreMotion::getPHIOperand(BasicBlock *BB, StoreInst *S0,
229 bool MergedLoadStoreMotion::canSinkStoresAndGEPs(StoreInst *S0,
243 void MergedLoadStoreMotion::sinkStoresAndGEPs(BasicBlock *BB, StoreInst *S0,
283 bool MergedLoadStoreMotion::mergeStores(BasicBlock *HeadBB) {
347 bool MergedLoadStoreMotion::run(Function &F, AliasAnalysis &AA) {
386 MergedLoadStoreMotion Impl(SplitFooterBB);
410 "MergedLoadStoreMotion", false, false)
413 "MergedLoadStoreMotion", false, false)
417 MergedLoadStoreMotion Impl(Options.SplitFooterBB);