1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00

Two things:

1. Forward propogate a loaded constant to make debugging slightly less annoying
2. Fix an extremely nasty hard to find bug that really irritated me for the better
   part of 6 hours and was causing linking to die and bizarre and mysterious ways.
   Things should be much more stable now that this one liner has been fixed. GRR

llvm-svn: 971
This commit is contained in:
Chris Lattner 2001-10-24 05:12:04 +00:00
parent 7ec504f5dc
commit 896f34ccd0

View File

@ -300,6 +300,8 @@ static bool TypesEqual(const Type *Ty, const Type *Ty2,
if (Ty == Ty2) return true;
if (Ty->getPrimitiveID() != Ty2->getPrimitiveID()) return false;
if (Ty->isPrimitiveType()) return true;
if (isa<OpaqueType>(Ty))
return false; // Two nonequal opaque types are never equal
if (Ty != Ty2) {
map<const Type*, const Type*>::iterator I = EqTypes.find(Ty);
@ -744,7 +746,7 @@ void DerivedType::refineAbstractTypeTo(const Type *NewType) {
<< (void*)this << " " << getDescription() << "] to ["
<< (void*)NewTy.get() << " " << NewTy->getDescription() << "]!\n";
#endif
AbstractTypeUsers.back()->refineAbstractType(this, NewTy);
User->refineAbstractType(this, NewTy);
assert(AbstractTypeUsers.size() != OldSize &&
"AbsTyUser did not remove self from user list!");