New testcase.
authorChris Lattner <sabre@nondot.org>
Sun, 18 Aug 2002 01:27:10 +0000 (01:27 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 18 Aug 2002 01:27:10 +0000 (01:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3380 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll [new file with mode: 0644]

diff --git a/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll b/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll
new file mode 100644 (file)
index 0000000..57ed72a
--- /dev/null
@@ -0,0 +1,19 @@
+; Make sure that functions are removed successfully if they are referred to by
+; a global that is dead.  Make sure any globals they refer to die as well.
+
+; RUN: if as < %s | opt -globaldce | dis | grep foo
+; RUN: then exit 1
+; RUN: else exit 0
+; RUN: fi
+
+%b = internal global int ()* %foo   ;; Unused, kills %foo
+
+%foo = internal global int 7         ;; Should die when function %foo is killed
+
+implementation
+
+internal int %foo() {               ;; dies when %b dies.
+       %ret = load int* %foo
+       ret int %ret
+}
+