OSDN Git Service

In theory the aliasee may have dead constant users
authorDuncan Sands <baldrick@free.fr>
Wed, 18 Feb 2009 17:55:38 +0000 (17:55 +0000)
committerDuncan Sands <baldrick@free.fr>
Wed, 18 Feb 2009 17:55:38 +0000 (17:55 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64926 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/GlobalOpt.cpp

index 0ac1e65..0a35fa9 100644 (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.