[llvm] [IRMover] Don't consider opaque types isomorphic to other types (PR #138241)
Teresa Johnson via llvm-commits
llvm-commits at lists.llvm.org
Fri May 30 07:58:49 PDT 2025
================
@@ -196,38 +131,27 @@ bool TypeMapTy::areTypesIsomorphic(Type *DstTy, Type *SrcTy) {
return false;
}
- // Otherwise, we speculate that these two types will line up and recursively
- // check the subelements.
- Entry = DstTy;
- SpeculativeTypes.push_back(SrcTy);
-
+ // Recursively check the subelements.
for (unsigned I = 0, E = SrcTy->getNumContainedTypes(); I != E; ++I)
if (!areTypesIsomorphic(DstTy->getContainedType(I),
SrcTy->getContainedType(I)))
return false;
// If everything seems to have lined up, then everything is great.
- return true;
-}
+ [[maybe_unused]] auto Res = MappedTypes.insert({SrcTy, DstTy});
----------------
teresajohnson wrote:
I'm having a hard time figuring out when these were added to MappedTypes with the old code structure, how did this work before?
https://github.com/llvm/llvm-project/pull/138241
More information about the llvm-commits
mailing list