Home
last modified time | relevance | path

Searched refs:CountableLoopParser (Results 1 – 10 of 10) sorted by relevance

/arkcompiler/runtime_core/static_core/compiler/optimizer/analysis/
Dcountable_loop_parser.h40 class CountableLoopParser {
42 explicit CountableLoopParser(const Loop &loop) : loop_(loop) {} in CountableLoopParser() function
44 NO_MOVE_SEMANTIC(CountableLoopParser);
45 NO_COPY_SEMANTIC(CountableLoopParser);
46 ~CountableLoopParser() = default;
Dcountable_loop_parser.cpp34 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()
Dbounds_analysis.cpp914 auto loopParser = CountableLoopParser(*loop); in ProcessCountableLoop()
950 …if (!upperRange.IsMoreOrEqual(lowerRange) && !CountableLoopParser::HasPreHeaderCompare(loop, loopI… in ProcessCountableLoop()
/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/
Dloop_unroll.cpp145 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()
Dredundant_loop_elimination.cpp66 if (!CountableLoopParser(*loop).Parse().has_value()) { in IsRedundant()
Dloop_idioms.cpp125 auto loopInfoOpt = CountableLoopParser {*loop}.Parse(); in TryTransformArrayInitIdiom()
Dchecks_elimination.cpp495 if (auto loopInfo = CountableLoopParser(*indexLoop).Parse()) { in GetLoopForBoundsCheck()
861 auto loopParser = CountableLoopParser(*loop); in FindLoopInfo()
868 bool hasPreHeaderCompare = CountableLoopParser::HasPreHeaderCompare(loop, loopInfoValue); in FindLoopInfo()
/arkcompiler/runtime_core/static_core/compiler/tests/
Dloop_analyzer_test.cpp432 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()
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir/
Dloop_unswitcher.cpp252 auto loopParser = CountableLoopParser(*loop); in IsSmallLoop()
257 auto iterations = CountableLoopParser::GetLoopIterations(*loopInfo); in IsSmallLoop()
/arkcompiler/runtime_core/static_core/plugins/ets/compiler/optimizer/optimizations/interop_js/
Dinterop_intrinsic_optimization.cpp261 if (auto loopInfo = CountableLoopParser(*loop).Parse()) { in FindForbiddenLoops()
262 auto optIterations = CountableLoopParser::GetLoopIterations(*loopInfo); in FindForbiddenLoops()