Change how globalopt handles aliases in llvm.used.
[oota-llvm.git] / test / Transforms / GlobalOpt / deadglobal.ll
index 514a57c43b9d36eef5bea93b48dd2ceb8e235d5c..cad5a91488ab0af9aa909a3fe5cc50e6624df05f 100644 (file)
@@ -1,9 +1,25 @@
-; RUN: opt %s -globalopt -S | not grep internal
+; RUN: opt < %s -globalopt -S | FileCheck %s
 
-@G = internal global i32 123            ; <i32*> [#uses=1]
+@G1 = internal global i32 123            ; <i32*> [#uses=1]
 
-define void @foo() {
-        store i32 1, i32* @G
+; CHECK-NOT: @G1
+; CHECK: @G2
+; CHECK-NOT: @G3
+
+define void @foo1() {
+; CHECK: define void @foo
+; CHECK-NEXT: ret
+        store i32 1, i32* @G1
+        ret void
+}
+
+@G2 = linkonce_odr constant i32 42
+
+define void @foo2() {
+; CHECK: define void @foo2
+; CHECK-NEXT: store
+        store i32 1, i32* @G2
         ret void
 }
 
+@G3 = linkonce_odr constant i32 42