Lines Matching refs:strategy
624 VectorizationStrategy *strategy) { in vectorizeLoopIfProfitable() argument
627 if (patternDepth - depthInPattern > strategy->vectorSizes.size()) { in vectorizeLoopIfProfitable()
631 strategy->loopToVectorDim[loop] = in vectorizeLoopIfProfitable()
632 strategy->vectorSizes.size() - (patternDepth - depthInPattern); in vectorizeLoopIfProfitable()
653 VectorizationStrategy *strategy) { in analyzeProfitability() argument
656 patternDepth, strategy))) { in analyzeProfitability()
660 patternDepth, strategy); in analyzeProfitability()
761 const VectorizationStrategy *strategy = nullptr; member
940 const VectorizationStrategy *strategy) { in getVectorType() argument
942 return VectorType::get(strategy->vectorSizes, scalarTy); in getVectorType()
954 auto vecTy = getVectorType(scalarTy, state.strategy); in vectorizeConstant()
986 auto vecTy = getVectorType(scalarTy, state.strategy); in createInitialVector()
1002 assert(state.strategy->vectorSizes.size() == 1 && in createMask()
1004 assert(vecForOp.getStep() == state.strategy->vectorSizes[0] && in createMask()
1056 Type maskTy = VectorType::get(state.strategy->vectorSizes, in createMask()
1075 const VectorizationStrategy *strategy) { in isUniformDefinition() argument
1077 if (forOp && strategy->loopToVectorDim.count(forOp) == 0) in isUniformDefinition()
1080 for (auto loopToDim : strategy->loopToVectorDim) { in isUniformDefinition()
1097 auto vectorTy = getVectorType(uniformVal.getType(), state.strategy); in vectorizeUniform()
1143 if (isUniformDefinition(operand, state.strategy)) { in vectorizeOperand()
1170 auto vectorType = VectorType::get(state.strategy->vectorSizes, elementType); in vectorizeAffineLoad()
1271 const VectorizationStrategy &strategy = *state.strategy; in vectorizeAffineForOp() local
1272 auto loopToVecDimIt = strategy.loopToVectorDim.find(forOp); in vectorizeAffineForOp()
1273 bool isLoopVecDim = loopToVecDimIt != strategy.loopToVectorDim.end(); in vectorizeAffineForOp()
1290 assert(vectorDim < strategy.vectorSizes.size() && "vector dim overflow"); in vectorizeAffineForOp()
1291 int64_t forOpVecFactor = strategy.vectorSizes[vectorDim]; in vectorizeAffineForOp()
1300 auto it = strategy.reductionLoops.find(forOp); in vectorizeAffineForOp()
1301 assert(it != strategy.reductionLoops.end() && in vectorizeAffineForOp()
1395 VectorType::get(state.strategy->vectorSizes, result.getType())); in widenOp()
1531 const VectorizationStrategy &strategy) { in vectorizeLoopNest() argument
1536 state.strategy = &strategy; in vectorizeLoopNest()
1602 const VectorizationStrategy &strategy) { in vectorizeRootMatch() argument
1605 return vectorizeLoopNest(loopsToVectorize, strategy); in vectorizeRootMatch()
1690 VectorizationStrategy strategy; in vectorizeLoops() local
1692 strategy.vectorSizes.assign(vectorSizes.begin(), vectorSizes.end()); in vectorizeLoops()
1693 strategy.reductionLoops = reductionLoops; in vectorizeLoops()
1695 patternDepth, &strategy))) { in vectorizeLoops()
1699 &strategy); in vectorizeLoops()
1704 if (succeeded(vectorizeRootMatch(match, strategy))) in vectorizeLoops()
1859 const VectorizationStrategy &strategy) { in vectorizeAffineLoopNest() argument
1864 return vectorizeLoopNest(loops, strategy); in vectorizeAffineLoopNest()