Searched refs:CountableLoopParser (Results 1 – 10 of 10) sorted by relevance
40 class CountableLoopParser {42 explicit CountableLoopParser(const Loop &loop) : loop_(loop) {} in CountableLoopParser() function44 NO_MOVE_SEMANTIC(CountableLoopParser);45 NO_COPY_SEMANTIC(CountableLoopParser);46 ~CountableLoopParser() = default;
34 std::optional<CountableLoopInfo> CountableLoopParser::Parse() in Parse()82 bool CountableLoopParser::TryProcessBackEdge() in TryProcessBackEdge()96 bool CountableLoopParser::HasPreHeaderCompare(Loop *loop, const CountableLoopInfo &loopInfo) in HasPreHeaderCompare()143 std::optional<uint64_t> CountableLoopParser::GetLoopIterations(const CountableLoopInfo &loopInfo) in GetLoopIterations()190 bool CountableLoopParser::IsInstIncOrDec(Inst *inst) in IsInstIncOrDec()205 BasicBlock *CountableLoopParser::FindLoopExitBlock() in FindLoopExitBlock()220 bool CountableLoopParser::SetUpdateAndTestInputs() in SetUpdateAndTestInputs()245 void CountableLoopParser::SetIndexAndConstStep() in SetIndexAndConstStep()266 void CountableLoopParser::SetNormalizedConditionCode() in SetNormalizedConditionCode()293 bool CountableLoopParser::IsConditionCodeAcceptable() in IsConditionCodeAcceptable()
914 auto loopParser = CountableLoopParser(*loop); in ProcessCountableLoop()950 …if (!upperRange.IsMoreOrEqual(lowerRange) && !CountableLoopParser::HasPreHeaderCompare(loop, loopI… in ProcessCountableLoop()
145 auto loopParser = CountableLoopParser(*loop); in TransformLoop()150 optIterations = CountableLoopParser::GetLoopIterations(*loopInfo); in TransformLoop()159 CountableLoopParser::HasPreHeaderCompare(loop, *loopInfo); in TransformLoop()184 …!ConditionOverFlow(*loopInfo, unrollFactor) && CountableLoopParser::HasPreHeaderCompare(loop, *loo… in TransformLoop()
66 if (!CountableLoopParser(*loop).Parse().has_value()) { in IsRedundant()
125 auto loopInfoOpt = CountableLoopParser {*loop}.Parse(); in TryTransformArrayInitIdiom()
495 if (auto loopInfo = CountableLoopParser(*indexLoop).Parse()) { in GetLoopForBoundsCheck()861 auto loopParser = CountableLoopParser(*loop); in FindLoopInfo()868 bool hasPreHeaderCompare = CountableLoopParser::HasPreHeaderCompare(loop, loopInfoValue); in FindLoopInfo()
432 auto loopParser = CountableLoopParser(*loop); in TEST_F()467 auto loopParser = CountableLoopParser(*loop); in TEST_F()512 auto loopParser = CountableLoopParser(*loop); in TEST_F()544 auto loopParser = CountableLoopParser(*loop); in TEST_F()574 auto loopParser = CountableLoopParser(*loop); in TEST_F()
252 auto loopParser = CountableLoopParser(*loop); in IsSmallLoop()257 auto iterations = CountableLoopParser::GetLoopIterations(*loopInfo); in IsSmallLoop()
261 if (auto loopInfo = CountableLoopParser(*loop).Parse()) { in FindForbiddenLoops()262 auto optIterations = CountableLoopParser::GetLoopIterations(*loopInfo); in FindForbiddenLoops()