In theory the aliasee may have dead constant users

here.  Since we only do the transform if there is
one use, strip off any such users in the hope of
making the transform fire more often.

llvm-svn: 64926
This commit is contained in:
Duncan Sands 2009-02-18 17:55:38 +00:00
parent 86b3bf5add
commit d1fef83598

View File

@ -2383,6 +2383,7 @@ bool GlobalOpt::ResolveAliases(Module &M) {
Constant *Aliasee = J->getAliasee();
GlobalValue *Target = cast<GlobalValue>(Aliasee->stripPointerCasts());
Target->removeDeadConstantUsers();
bool hasOneUse = Target->hasOneUse() && Aliasee->hasOneUse();
// Make all users of the alias use the aliasee instead.