[llvm] r183845 - Always remove an alias when we rename the target.

Rafael Espindola rafael.espindola at gmail.com
Wed Jun 12 09:45:47 PDT 2013


Author: rafael
Date: Wed Jun 12 11:45:47 2013
New Revision: 183845

URL: http://llvm.org/viewvc/llvm-project?rev=183845&view=rev
Log:
Always remove an alias when we rename the target.

Should fix the dragonegg build bots.

Modified:
    llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
    llvm/trunk/test/Transforms/GlobalOpt/alias-resolve.ll

Modified: llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp?rev=183845&r1=183844&r2=183845&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp Wed Jun 12 11:45:47 2013
@@ -3238,9 +3238,7 @@ bool GlobalOpt::OptimizeGlobalAliases(Mo
 
       if (Used.compilerUsedErase(J))
         Used.compilerUsedInsert(Target);
-    }
-
-    if (mayHaveOtherReferences(*J, Used))
+    } else if (mayHaveOtherReferences(*J, Used))
       continue;
 
     // Delete the alias.

Modified: llvm/trunk/test/Transforms/GlobalOpt/alias-resolve.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GlobalOpt/alias-resolve.ll?rev=183845&r1=183844&r2=183845&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/GlobalOpt/alias-resolve.ll (original)
+++ llvm/trunk/test/Transforms/GlobalOpt/alias-resolve.ll Wed Jun 12 11:45:47 2013
@@ -1,4 +1,7 @@
-; RUN: opt < %s -globalopt -S | FileCheck %s
+; We use a temporary file so that the test fails when opt crashes.
+
+; RUN: opt < %s -globalopt -S > %t
+; RUN: FileCheck %s < %t
 
 @foo1 = alias void ()* @foo2
 ; CHECK: @foo1 = alias void ()* @foo2
@@ -25,3 +28,11 @@ entry:
 
          ret void
 }
+
+ at foo3 = alias void ()* @bar3
+; CHECK-NOT: bar3
+
+define internal void @bar3() {
+  ret void
+}
+;CHECK: define void @foo3





More information about the llvm-commits mailing list