diff --git a/src/mapleall/maple_be/src/cg/loop.cpp b/src/mapleall/maple_be/src/cg/loop.cpp index 466b3475cca80f8e221fb5ebc627daf64daec8c9..9f0dba7a34da7e9d7fd227d649e9992ad4b1829e 100644 --- a/src/mapleall/maple_be/src/cg/loop.cpp +++ b/src/mapleall/maple_be/src/cg/loop.cpp @@ -640,6 +640,7 @@ void LoopFinder::FormLoopHierarchy() { UpdateCGFunc(); } +#ifdef needSplitCriticalEdges void LoopFinder::SplitCriticalEdges() { for (auto it = criticalEdges.begin(); it != criticalEdges.end(); ++it) { cgFunc->GetTheCFG()->BreakCriticalEdge(*((*it).first), *((*it).second)); @@ -665,15 +666,18 @@ void LoopFinder::CollectCriticalEdges() { } } } +#endif bool CgLoopAnalysis::PhaseRun(maplebe::CGFunc &f) { f.ClearLoopInfo(); MemPool *loopMemPool = GetPhaseMemPool(); LoopFinder *loopFinder = loopMemPool->New(f, *loopMemPool); +#ifdef needSplitCriticalEdges if (f.GetMirModule().IsCModule() && f.NumBBs() < kBBLimit) { loopFinder->CollectCriticalEdges(); loopFinder->SplitCriticalEdges(); } +#endif loopFinder->FormLoopHierarchy(); if (LOOP_ANALYSIS_DUMP_NEWPM) {