diff --git a/src/mapleall/maple_me/src/me_prop.cpp b/src/mapleall/maple_me/src/me_prop.cpp index dd223ce14693e33543a226e69f6493baeda20882..f251cc88bdcecec678e4f0363101b94d0888839f 100644 --- a/src/mapleall/maple_me/src/me_prop.cpp +++ b/src/mapleall/maple_me/src/me_prop.cpp @@ -34,9 +34,9 @@ const std::set propWhiteList { namespace maple { AnalysisResult *MeDoMeProp::Run(MeFunction *func, MeFuncResultMgr *m, ModuleResultMgr*) { CHECK_NULL_FATAL(func); - auto *dom = static_cast(m->GetAnalysisResult(MeFuncPhase_DOMINANCE, func, true)); + auto *dom = static_cast(m->GetAnalysisResult(MeFuncPhase_DOMINANCE, func, !MeOption::quiet)); CHECK_NULL_FATAL(dom); - auto *hMap = static_cast(m->GetAnalysisResult(MeFuncPhase_IRMAPBUILD, func, true)); + auto *hMap = static_cast(m->GetAnalysisResult(MeFuncPhase_IRMAPBUILD, func, !MeOption::quiet)); CHECK_NULL_FATAL(hMap); bool propIloadRef = MeOption::propIloadRef; if (!propIloadRef) { diff --git a/src/mapleall/maple_me/src/me_rename2preg.cpp b/src/mapleall/maple_me/src/me_rename2preg.cpp index 4536d9ff549a5b518e462cefd7ab3b956a428b1f..2d75c13a3cbd89f3884b5d423e9c31811bd50389 100644 --- a/src/mapleall/maple_me/src/me_rename2preg.cpp +++ b/src/mapleall/maple_me/src/me_rename2preg.cpp @@ -31,7 +31,7 @@ RegMeExpr *SSARename2Preg::RenameVar(const VarMeExpr *varmeexpr) { return nullptr; } const MIRSymbol *mirst = ost->GetMIRSymbol(); - if (mirst->GetAttr(ATTR_localrefvar)) { + if (mirst->GetAttr(ATTR_localrefvar) || mirst->GetAttr(ATTR_oneelem_simd)) { return nullptr; } if (ost->IsFormal() && varmeexpr->GetPrimType() == PTY_ref) { diff --git a/src/mapleall/maple_me/src/me_ssa_lpre.cpp b/src/mapleall/maple_me/src/me_ssa_lpre.cpp index d764ff29041b89fd7ed598e91f96349d8f4852c1..9e18a6a496dde4a3a3c310505368180789537d17 100644 --- a/src/mapleall/maple_me/src/me_ssa_lpre.cpp +++ b/src/mapleall/maple_me/src/me_ssa_lpre.cpp @@ -210,6 +210,9 @@ void MeSSALPre::BuildEntryLHSOcc4Formals() const { if (ost->HasAttr(ATTR_localrefvar)) { return; } + if (ost->HasAttr(ATTR_oneelem_simd)) { + return; + } // get the zero version VarMeExpr node VarMeExpr *zeroVersion = irMap->GetOrCreateZeroVersionVarMeExpr(*ost); MeRealOcc *occ = ssaPreMemPool->New(nullptr, 0, zeroVersion);