Lines Matching refs:BoUpSLP

476 class BoUpSLP {  class
485 BoUpSLP(Function *Func, ScalarEvolution *Se, TargetTransformInfo *Tti, in BoUpSLP() function in llvm::slpvectorizer::BoUpSLP
955 const BoUpSLP::ScheduleData &SD) { in operator <<()
961 friend struct GraphTraits<BoUpSLP *>;
962 friend struct DOTGraphTraits<BoUpSLP *>;
1089 bool tryScheduleBundle(ArrayRef<Value *> VL, BoUpSLP *SLP,
1111 BoUpSLP *SLP);
1243 template <> struct GraphTraits<BoUpSLP *> {
1244 using TreeEntry = BoUpSLP::TreeEntry;
1263 static NodeRef getEntryNode(BoUpSLP &R) { return &R.VectorizableTree[0]; } in getEntryNode()
1277 static nodes_iterator nodes_begin(BoUpSLP *R) { in nodes_begin()
1281 static nodes_iterator nodes_end(BoUpSLP *R) { in nodes_end()
1285 static unsigned size(BoUpSLP *R) { return R->VectorizableTree.size(); } in size()
1288 template <> struct DOTGraphTraits<BoUpSLP *> : public DefaultDOTGraphTraits {
1289 using TreeEntry = BoUpSLP::TreeEntry;
1293 std::string getNodeLabel(const TreeEntry *Entry, const BoUpSLP *R) { in getNodeLabel()
1304 [&](const BoUpSLP::ExternalUser &EU) { return EU.Scalar == V; })) in getNodeLabel()
1312 const BoUpSLP *) { in getNodeAttributes()
1321 void BoUpSLP::buildTree(ArrayRef<Value *> Roots, in buildTree()
1327 void BoUpSLP::buildTree(ArrayRef<Value *> Roots, in buildTree()
1395 void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth, in buildTree_rec()
1954 unsigned BoUpSLP::canMapToVector(Type *T, const DataLayout &DL) const { in canMapToVector()
1979 bool BoUpSLP::canReuseExtract(ArrayRef<Value *> VL, Value *OpValue, in canReuseExtract()
2046 bool BoUpSLP::areAllUsersVectorized(Instruction *I) const { in areAllUsersVectorized()
2053 int BoUpSLP::getEntryCost(TreeEntry *E) { in getEntryCost()
2417 bool BoUpSLP::isFullyVectorizableTinyTree() { in isFullyVectorizableTinyTree()
2441 bool BoUpSLP::isTreeTinyAndNotFullyVectorizable() { in isTreeTinyAndNotFullyVectorizable()
2461 int BoUpSLP::getSpillCost() { in getSpillCost()
2526 int BoUpSLP::getTreeCost() { in getTreeCost()
2611 int BoUpSLP::getGatherCost(Type *Ty, in getGatherCost()
2622 int BoUpSLP::getGatherCost(ArrayRef<Value *> VL) { in getGatherCost()
2651 void BoUpSLP::reorderAltShuffleOperands(const InstructionsState &S, in reorderAltShuffleOperands()
2766 void BoUpSLP::reorderInputsAccordingToOpcode(unsigned Opcode, in reorderInputsAccordingToOpcode()
2859 void BoUpSLP::setInsertPointAfterBundle(ArrayRef<Value *> VL, in setInsertPointAfterBundle()
2920 Value *BoUpSLP::Gather(ArrayRef<Value *> VL, VectorType *Ty) { in Gather()
2954 Value *BoUpSLP::vectorizeTree(ArrayRef<Value *> VL) { in vectorizeTree()
3026 Value *BoUpSLP::vectorizeTree(TreeEntry *E) { in vectorizeTree()
3569 Value *BoUpSLP::vectorizeTree() { in vectorizeTree()
3575 BoUpSLP::vectorizeTree(ExtraValueToDebugLocsMap &ExternallyUsedValues) { in vectorizeTree()
3728 void BoUpSLP::optimizeGatherSequence() { in optimizeGatherSequence()
3813 bool BoUpSLP::BlockScheduling::tryScheduleBundle(ArrayRef<Value *> VL, in tryScheduleBundle()
3814 BoUpSLP *SLP, in tryScheduleBundle()
3902 void BoUpSLP::BlockScheduling::cancelScheduling(ArrayRef<Value *> VL, in cancelScheduling()
3929 BoUpSLP::ScheduleData *BoUpSLP::BlockScheduling::allocateScheduleDataChunks() { in allocateScheduleDataChunks()
3938 bool BoUpSLP::BlockScheduling::extendSchedulingRegion(Value *V, in extendSchedulingRegion()
4015 void BoUpSLP::BlockScheduling::initScheduleData(Instruction *FromI, in initScheduleData()
4051 void BoUpSLP::BlockScheduling::calculateDependencies(ScheduleData *SD, in calculateDependencies()
4053 BoUpSLP *SLP) { in calculateDependencies()
4176 void BoUpSLP::BlockScheduling::resetSchedule() { in resetSchedule()
4190 void BoUpSLP::scheduleBlock(BlockScheduling *BS) { in scheduleBlock()
4257 unsigned BoUpSLP::getVectorElementSize(Value *V) { in getVectorElementSize()
4387 void BoUpSLP::computeMinimumValueSizes() { in computeMinimumValueSizes()
4631 BoUpSLP R(&F, SE, TTI, TLI, AA, LI, DT, AC, DB, DL, ORE_); in runImpl()
4681 bool SLPVectorizerPass::vectorizeStoreChain(ArrayRef<Value *> Chain, BoUpSLP &R, in vectorizeStoreChain()
4740 BoUpSLP &R) { in vectorizeStores()
4747 BoUpSLP::ValueSet VectorizedStores; in vectorizeStores()
4791 BoUpSLP::ValueList Operands; in vectorizeStores()
4851 bool SLPVectorizerPass::tryToVectorizePair(Value *A, Value *B, BoUpSLP &R) { in tryToVectorizePair()
4858 bool SLPVectorizerPass::tryToVectorizeList(ArrayRef<Value *> VL, BoUpSLP &R, in tryToVectorizeList()
4992 bool SLPVectorizerPass::tryToVectorize(Instruction *I, BoUpSLP &R) { in tryToVectorize()
5730 bool tryToReduce(BoUpSLP &V, TargetTransformInfo *TTI) { in tryToReduce()
5750 BoUpSLP::ExtraValueToDebugLocsMap ExternallyUsedValues; in tryToReduce()
6080 PHINode *P, Instruction *Root, BasicBlock *BB, BoUpSLP &R, in tryToVectorizeHorReductionOrInstOperands()
6082 const function_ref<bool(Instruction *, BoUpSLP &)> Vectorize) { in tryToVectorizeHorReductionOrInstOperands()
6159 BasicBlock *BB, BoUpSLP &R, in vectorizeRootInstruction()
6170 auto &&ExtraVectorization = [this](Instruction *I, BoUpSLP &R) -> bool { in vectorizeRootInstruction()
6178 BasicBlock *BB, BoUpSLP &R) { in vectorizeInsertValueInst()
6194 BasicBlock *BB, BoUpSLP &R) { in vectorizeInsertElementInst()
6209 BoUpSLP &R) { in vectorizeCmpInst()
6222 SmallVectorImpl<WeakVH> &Instructions, BasicBlock *BB, BoUpSLP &R) { in vectorizeSimpleInstructions()
6239 bool SLPVectorizerPass::vectorizeChainsInBlock(BasicBlock *BB, BoUpSLP &R) { in vectorizeChainsInBlock()
6370 bool SLPVectorizerPass::vectorizeGEPIndices(BasicBlock *BB, BoUpSLP &R) { in vectorizeGEPIndices()
6453 bool SLPVectorizerPass::vectorizeStoreChains(BoUpSLP &R) { in vectorizeStoreChains()