diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll b/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll new file mode 100644 index 0000000..57ed72a --- /dev/null +++ b/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll @@ -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 +} + |