Fix a bug in my previous change. Unfortunately this reverts most of the
speedup, but has the advantage of not breaking a bunch of programs! llvm-svn: 16806
This commit is contained in:
parent
50a425a56d
commit
cef3c06027
|
@ -478,8 +478,8 @@ bool Type::PromoteAbstractToConcrete(void *Ptr) {
|
|||
return true; // This type is abstract if subtype is abstract!
|
||||
}
|
||||
|
||||
// Nothing looks abstract here.
|
||||
setAbstract(false);
|
||||
// Nothing looks abstract here. Restore the abstract flag.
|
||||
setAbstract(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -732,7 +732,8 @@ public:
|
|||
// subtypes to see if the type has just become concrete!
|
||||
if (Ty->isAbstract()) {
|
||||
std::set<Type*> KnownAbstractTypes;
|
||||
Ty->PromoteAbstractToConcrete(&KnownAbstractTypes);
|
||||
if (!Ty->PromoteAbstractToConcrete(&KnownAbstractTypes))
|
||||
Ty->setAbstract(false);
|
||||
|
||||
// If the type just became concrete, notify all users!
|
||||
if (!Ty->isAbstract())
|
||||
|
|
Loading…
Reference in New Issue