Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
Show First 20 Lines • Show All 132 Lines • ▼ Show 20 Lines | private: | ||||
bool vectorizeSimpleInstructions(SmallVectorImpl<Instruction *> &Instructions, | bool vectorizeSimpleInstructions(SmallVectorImpl<Instruction *> &Instructions, | ||||
BasicBlock *BB, slpvectorizer::BoUpSLP &R); | BasicBlock *BB, slpvectorizer::BoUpSLP &R); | ||||
/// Scan the basic block and look for patterns that are likely to start | /// Scan the basic block and look for patterns that are likely to start | ||||
/// a vectorization chain. | /// a vectorization chain. | ||||
bool vectorizeChainsInBlock(BasicBlock *BB, slpvectorizer::BoUpSLP &R); | bool vectorizeChainsInBlock(BasicBlock *BB, slpvectorizer::BoUpSLP &R); | ||||
bool vectorizeStoreChain(ArrayRef<Value *> Chain, slpvectorizer::BoUpSLP &R, | bool vectorizeStoreChain(ArrayRef<Value *> Chain, slpvectorizer::BoUpSLP &R, | ||||
unsigned VecRegSize); | unsigned Idx); | ||||
bool vectorizeStores(ArrayRef<StoreInst *> Stores, slpvectorizer::BoUpSLP &R); | bool vectorizeStores(ArrayRef<StoreInst *> Stores, slpvectorizer::BoUpSLP &R); | ||||
/// The store instructions in a basic block organized by base pointer. | /// The store instructions in a basic block organized by base pointer. | ||||
StoreListMap Stores; | StoreListMap Stores; | ||||
/// The getelementptr instructions in a basic block organized by base pointer. | /// The getelementptr instructions in a basic block organized by base pointer. | ||||
GEPListMap GEPs; | GEPListMap GEPs; | ||||
}; | }; | ||||
} // end namespace llvm | } // end namespace llvm | ||||
#endif // LLVM_TRANSFORMS_VECTORIZE_SLPVECTORIZER_H | #endif // LLVM_TRANSFORMS_VECTORIZE_SLPVECTORIZER_H |