GlobalOpt: Don't swap private for internal linkage
There were transforms whose *intent* was to downgrade the linkage of
external objects to have internal linkage.
However, it fired on things with private linkage as well.
llvm-svn: 212104
diff --git a/llvm/test/Transforms/GlobalOpt/2009-03-06-Anonymous.ll b/llvm/test/Transforms/GlobalOpt/2009-03-06-Anonymous.ll
index db2673a..930a96e 100644
--- a/llvm/test/Transforms/GlobalOpt/2009-03-06-Anonymous.ll
+++ b/llvm/test/Transforms/GlobalOpt/2009-03-06-Anonymous.ll
@@ -1,13 +1,23 @@
; RUN: opt < %s -globalopt -S | FileCheck %s
global i32 0
-; CHECK: @0 = internal global i32 0
-define i32* @1() {
+; CHECK-DAG: @0 = internal global i32 0
+
+private global i32 0
+; CHECK-DAG: @1 = private global i32 0
+
+define i32* @2() {
ret i32* @0
}
-; CHECK: define internal fastcc i32* @1()
+; CHECK-DAG: define internal fastcc i32* @2()
+
define i32* @f() {
entry:
- call i32* @1()
+ call i32* @2()
ret i32* %0
}
+
+define i32* @g() {
+entry:
+ ret i32* @1
+}