Home
last modified time | relevance | path

Searched refs:CountableLoopParser (Results 1 – 11 of 11) 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()
63 bool CountableLoopParser::ParseLoopExit() in ParseLoopExit()
86 bool CountableLoopParser::TryProcessBackEdge() in TryProcessBackEdge()
100 bool CountableLoopParser::HasPreHeaderCompare(Loop *loop, const CountableLoopInfo &loopInfo) in HasPreHeaderCompare()
147 std::optional<uint64_t> CountableLoopParser::GetLoopIterations(const CountableLoopInfo &loopInfo) in GetLoopIterations()
194 bool CountableLoopParser::IsInstIncOrDec(Inst *inst) in IsInstIncOrDec()
209 BasicBlock *CountableLoopParser::FindLoopExitBlock() in FindLoopExitBlock()
224 bool CountableLoopParser::SetUpdateAndTestInputs() in SetUpdateAndTestInputs()
249 void CountableLoopParser::SetIndexAndConstStep() in SetIndexAndConstStep()
270 void CountableLoopParser::SetNormalizedConditionCode() in SetNormalizedConditionCode()
[all …]
Dbounds_analysis.cpp960 auto iterations = CountableLoopParser::GetLoopIterations(loopInfo); in GetNestedLoopIterations()
986 auto loopParser = CountableLoopParser(*loop); in GetSimpleLoopIterationsInfo()
1095 …if (!upperRange.IsMoreOrEqual(lowerRange) && !CountableLoopParser::HasPreHeaderCompare(loop, loopI… in ProcessIndexPhi()
/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()
192 …!ConditionOverFlow(*loopInfo, unrollFactor) && CountableLoopParser::HasPreHeaderCompare(loop, *loo… in UnrollWithBranching()
Dredundant_loop_elimination.cpp67 if (!CountableLoopParser(*loop).Parse().has_value()) { in IsRedundant()
Dloop_idioms.cpp125 auto loopInfoOpt = CountableLoopParser {*loop}.Parse(); in TryTransformArrayInitIdiom()
Dreserve_string_builder_buffer.cpp49 auto loopParser = CountableLoopParser(*loop); in GetLoopIterationsCount()
55 auto loopCount = CountableLoopParser::GetLoopIterations(loopInfo.value()); in GetLoopIterationsCount()
Dchecks_elimination.cpp495 if (auto loopInfo = CountableLoopParser(*indexLoop).Parse()) { in GetLoopForBoundsCheck()
888 auto loopParser = CountableLoopParser(*loop); in FindLoopInfo()
895 bool hasPreHeaderCompare = CountableLoopParser::HasPreHeaderCompare(loop, loopInfoValue); in FindLoopInfo()
/arkcompiler/runtime_core/static_core/compiler/tests/
Dloop_analyzer_test.cpp457 auto loopParser = CountableLoopParser(*loop); in TEST_F()
492 auto loopParser = CountableLoopParser(*loop); in TEST_F()
537 auto loopParser = CountableLoopParser(*loop); in TEST_F()
569 auto loopParser = CountableLoopParser(*loop); in TEST_F()
599 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()