diff --git a/src/mapleall/maple_ir/src/mir_type.cpp b/src/mapleall/maple_ir/src/mir_type.cpp index 4b28e026315a33a5d7a64c11a4ac05728384816e..d257ab741ff3d2d6990ca0a1b3ac85853f4dd010 100644 --- a/src/mapleall/maple_ir/src/mir_type.cpp +++ b/src/mapleall/maple_ir/src/mir_type.cpp @@ -574,6 +574,7 @@ void MIRArrayType::Dump(int indent, bool dontUseName) const { } LogInfo::MapleLogger() << " "; GlobalTables::GetTypeTable().GetTypeFromTyIdx(eTyIdx)->Dump(indent + 1); + GetTypeAttrs().DumpAttributes(); LogInfo::MapleLogger() << ">"; } @@ -1254,7 +1255,7 @@ bool MIRArrayType::EqualTo(const MIRType &type) const { return false; } const auto &pType = static_cast(type); - if (dim != pType.GetDim() || eTyIdx != pType.GetElemTyIdx()) { + if (dim != pType.GetDim() || eTyIdx != pType.GetElemTyIdx() || typeAttrs != pType.GetTypeAttrs()) { return false; } for (size_t i = 0; i < dim; ++i) { diff --git a/src/mapleall/maple_me/src/alias_class.cpp b/src/mapleall/maple_me/src/alias_class.cpp index fa0aeb108236bf9a0f3e118b0c4afe3705c26a2a..7f1f11f1b3e3dfc07bb6456e8ac9f2e6e4c79ac5 100644 --- a/src/mapleall/maple_me/src/alias_class.cpp +++ b/src/mapleall/maple_me/src/alias_class.cpp @@ -1588,6 +1588,8 @@ void AliasClass::InsertMayDefUseIntrncall(StmtNode &stmt, BBId bbid) { for (uint32 i = 0; i < stmt.NumOpnds(); ++i) { InsertMayUseExpr(*stmt.Opnd(i)); } + } else { + CollectMayUseForCallOpnd(stmt, mayDefUseOsts); } // 2. collect mayDefs and mayUses caused by not_all_defs_seen_ae CollectMayUseFromNADS(mayDefUseOsts);