From: Chris Lattner Date: Mon, 16 Jun 2008 18:27:53 +0000 (+0000) Subject: handle vectors. Any integers that got here would necessarily be different already. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f6f4f7a149e2864cc0441afcbed5fd99ff4b9587;p=oota-llvm.git handle vectors. Any integers that got here would necessarily be different already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52341 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index e36fbafc6fa..14fe9959db8 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -102,12 +102,8 @@ static bool RecursiveResolveTypesI(const PATypeHolder &DestTy, // Otherwise, resolve the used type used by this derived type... switch (DestTyT->getTypeID()) { - case Type::IntegerTyID: { - if (cast(DestTyT)->getBitWidth() != - cast(SrcTyT)->getBitWidth()) - return true; - return false; - } + default: + return true; case Type::FunctionTyID: { if (cast(DestTyT)->isVarArg() != cast(SrcTyT)->isVarArg() || @@ -122,7 +118,8 @@ static bool RecursiveResolveTypesI(const PATypeHolder &DestTy, } case Type::StructTyID: { if (getST(DestTy)->getNumContainedTypes() != - getST(SrcTy)->getNumContainedTypes()) return 1; + getST(SrcTy)->getNumContainedTypes()) + return true; for (unsigned i = 0, e = getST(DestTy)->getNumContainedTypes(); i != e; ++i) if (RecursiveResolveTypesI(getST(DestTy)->getContainedType(i), getST(SrcTy)->getContainedType(i), Pointers)) @@ -136,6 +133,13 @@ static bool RecursiveResolveTypesI(const PATypeHolder &DestTy, return RecursiveResolveTypesI(DAT->getElementType(), SAT->getElementType(), Pointers); } + case Type::VectorTyID: { + const VectorType *DVT = cast(DestTy.get()); + const VectorType *SVT = cast(SrcTy.get()); + if (DVT->getNumElements() != SVT->getNumElements()) return true; + return RecursiveResolveTypesI(DVT->getElementType(), SVT->getElementType(), + Pointers); + } case Type::PointerTyID: { // If this is a pointer type, check to see if we have already seen it. If // so, we are in a recursive branch. Cut off the search now. We cannot use @@ -155,7 +159,6 @@ static bool RecursiveResolveTypesI(const PATypeHolder &DestTy, Pointers.pop_back(); return Result; } - default: assert(0 && "Unexpected type!"); return true; } }