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 | not grep foo
      5 
      6 ;; Unused, kills %foo
      7 @b = internal global i32 ()* @foo               ; <i32 ()**> [#uses=0]
      8 
      9 ;; Should die when function %foo is killed
     10 @foo.upgrd.1 = internal global i32 7            ; <i32*> [#uses=1]
     11 
     12  ;; dies when %b dies.
     13 define internal i32 @foo() {
     14         %ret = load i32, i32* @foo.upgrd.1           ; <i32> [#uses=1]
     15         ret i32 %ret
     16 }
     17 
     18