Lines Matching refs:SrcTy
54 void addTypeMapping(Type *DstTy, Type *SrcTy);
62 Type *get(Type *SrcTy);
63 Type *get(Type *SrcTy, SmallPtrSet<StructType *, 8> &Visited);
72 Type *remapType(Type *SrcTy) override { return get(SrcTy); }
74 bool areTypesIsomorphic(Type *DstTy, Type *SrcTy);
78 void TypeMapTy::addTypeMapping(Type *DstTy, Type *SrcTy) {
84 if (!areTypesIsomorphic(DstTy, SrcTy)) {
106 bool TypeMapTy::areTypesIsomorphic(Type *DstTy, Type *SrcTy) {
108 if (DstTy->getTypeID() != SrcTy->getTypeID())
112 Type *&Entry = MappedTypes[SrcTy];
118 if (DstTy == SrcTy) {
126 if (StructType *SSTy = dyn_cast<StructType>(SrcTy)) {
130 SpeculativeTypes.push_back(SrcTy);
143 SpeculativeTypes.push_back(SrcTy);
151 if (SrcTy->getNumContainedTypes() != DstTy->getNumContainedTypes())
158 if (PT->getAddressSpace() != cast<PointerType>(SrcTy)->getAddressSpace())
162 if (FT->isVarArg() != cast<FunctionType>(SrcTy)->isVarArg())
165 StructType *SSTy = cast<StructType>(SrcTy);
170 if (DATy->getNumElements() != cast<ArrayType>(SrcTy)->getNumElements())
173 if (DVTy->getNumElements() != cast<VectorType>(SrcTy)->getNumElements())
180 SpeculativeTypes.push_back(SrcTy);
182 for (unsigned I = 0, E = SrcTy->getNumContainedTypes(); I != E; ++I)
184 SrcTy->getContainedType(I)))