Lines Matching refs:SrcTy
57 void addTypeMapping(Type *DstTy, Type *SrcTy);
65 Type *get(Type *SrcTy);
66 Type *get(Type *SrcTy, SmallPtrSet<StructType *, 8> &Visited);
75 Type *remapType(Type *SrcTy) override { return get(SrcTy); } in remapType() argument
77 bool areTypesIsomorphic(Type *DstTy, Type *SrcTy);
81 void TypeMapTy::addTypeMapping(Type *DstTy, Type *SrcTy) { in addTypeMapping() argument
87 if (!areTypesIsomorphic(DstTy, SrcTy)) { in addTypeMapping()
109 bool TypeMapTy::areTypesIsomorphic(Type *DstTy, Type *SrcTy) { in areTypesIsomorphic() argument
111 if (DstTy->getTypeID() != SrcTy->getTypeID()) in areTypesIsomorphic()
115 Type *&Entry = MappedTypes[SrcTy]; in areTypesIsomorphic()
121 if (DstTy == SrcTy) { in areTypesIsomorphic()
129 if (StructType *SSTy = dyn_cast<StructType>(SrcTy)) { in areTypesIsomorphic()
133 SpeculativeTypes.push_back(SrcTy); in areTypesIsomorphic()
146 SpeculativeTypes.push_back(SrcTy); in areTypesIsomorphic()
154 if (SrcTy->getNumContainedTypes() != DstTy->getNumContainedTypes()) in areTypesIsomorphic()
161 if (PT->getAddressSpace() != cast<PointerType>(SrcTy)->getAddressSpace()) in areTypesIsomorphic()
165 if (FT->isVarArg() != cast<FunctionType>(SrcTy)->isVarArg()) in areTypesIsomorphic()
168 StructType *SSTy = cast<StructType>(SrcTy); in areTypesIsomorphic()
173 if (DATy->getNumElements() != cast<ArrayType>(SrcTy)->getNumElements()) in areTypesIsomorphic()
176 if (DVTy->getNumElements() != cast<VectorType>(SrcTy)->getNumElements()) in areTypesIsomorphic()
183 SpeculativeTypes.push_back(SrcTy); in areTypesIsomorphic()
185 for (unsigned I = 0, E = SrcTy->getNumContainedTypes(); I != E; ++I) in areTypesIsomorphic()
187 SrcTy->getContainedType(I))) in areTypesIsomorphic()