[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / GlobalDCE / 2002-08-17-FunctionDGE.ll
blob3da0fd5f14ba4e0d20658636af4c96f571d53ba1
1 ; Make sure that functions are removed successfully if they are referred to by
2 ; a global that is dead.  Make sure any globals they refer to die as well.
4 ; RUN: opt < %s -globaldce -S | FileCheck %s
6 ; CHECK-NOT: foo
7 ;; Unused, kills %foo
8 @b = internal global i32 ()* @foo               ; <i32 ()**> [#uses=0]
10 ;; Should die when function %foo is killed
11 @foo.upgrd.1 = internal global i32 7            ; <i32*> [#uses=1]
13  ;; dies when %b dies.
14 define internal i32 @foo() {
15         %ret = load i32, i32* @foo.upgrd.1           ; <i32> [#uses=1]
16         ret i32 %ret