Exactly the same checks are present in areTypesIsomorphic.
This might have been a premature performance optimization. I cannot reproduce
any slowdown with this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222758
91177308-0d34-0410-b5e6-
96231b3b80d8
}
void TypeMapTy::addTypeMapping(Type *DstTy, Type *SrcTy) {
- Type *&Entry = MappedTypes[SrcTy];
- if (Entry) return;
-
- if (DstTy == SrcTy) {
- Entry = DstTy;
- return;
- }
-
// Check to see if these types are recursively isomorphic and establish a
// mapping between them if so.
if (areTypesIsomorphic(DstTy, SrcTy)) {