Home | History | Annotate | Download | only in GlobalDCE
      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.
      3 
      4 ; RUN: opt < %s -globaldce -S | FileCheck %s
      5 
      6 ; CHECK-NOT: foo
      7 ;; Unused, kills %foo
      8 @b = internal global i32 ()* @foo               ; <i32 ()**> [#uses=0]
      9 
     10 ;; Should die when function %foo is killed
     11 @foo.upgrd.1 = internal global i32 7            ; <i32*> [#uses=1]
     12 
     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
     17 }
     18 
     19