diff --git a/src/mapleall/maple_me/src/me_stmt_pre.cpp b/src/mapleall/maple_me/src/me_stmt_pre.cpp index 09f85567f836793cf2da50e56f0bcaeb04f7b3c8..608644cdd8d9e528f027fa2c8b4f405edf4f0e80 100644 --- a/src/mapleall/maple_me/src/me_stmt_pre.cpp +++ b/src/mapleall/maple_me/src/me_stmt_pre.cpp @@ -1100,6 +1100,9 @@ void MeStmtPre::BuildWorkList() { continue; } MapleStack *varStack = ssaPreMemPool->New>(ssaPreAllocator.Adapter()); + if (ost->GetVersionsIndices().empty()) { + continue; + } varStack->push(static_cast(irMap->GetOrCreateZeroVersionVarMeExpr(*ost))); versionStackVec[ost->GetIndex()] = varStack; } diff --git a/src/mapleall/maple_phase/include/phases.def b/src/mapleall/maple_phase/include/phases.def index 028e6c15bd2bbc89f30aa83ca02db439eaa5cad2..1c2fdf254f30c04e490bc6bbb6a29928b6c37564 100644 --- a/src/mapleall/maple_phase/include/phases.def +++ b/src/mapleall/maple_phase/include/phases.def @@ -59,7 +59,7 @@ ADDMAPLEMEPHASE("hdse", MeOption::optLevel >= 2) ADDMAPLEMEPHASE("may2dassign", JAVALANG && MeOption::optLevel >= 2) ADDMAPLEMEPHASE("condbasednpc", JAVALANG && MeOption::optLevel >= 2) ADDMAPLEMEPHASE("epre", MeOption::optLevel >= 2) -ADDMAPLEMEPHASE("stmtpre", JAVALANG && MeOption::optLevel >= 2) +ADDMAPLEMEPHASE("stmtpre", MeOption::optLevel >= 2) ADDMAPLEMEPHASE("analyzerc", MeOption::optLevel != 0 && JAVALANG && !MeOption::noRC && !MeOption::gcOnly) ADDMAPLEMEPHASE("rclowering", JAVALANG && !MeOption::noRC && MeOption::rcLowering && !MeOption::gcOnly) ADDMAPLEMEPHASE("gclowering", JAVALANG && MeOption::gcOnly)