Home | History | Annotate | Download | only in GlobalOpt
      1 ; RUN: opt < %s  -globalopt -disable-output
      2 
      3 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
      4 target triple = "i686-apple-darwin8"
      5         %struct.SFLMutableListItem = type { i16 }
      6         %struct.__CFDictionary = type opaque
      7         %struct.__CFString = type opaque
      8         %struct.__builtin_CFString = type { i32*, i32, i8*, i32 }
      9 @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey = internal global %struct.__CFString* null             ; <%struct.__CFString**> [#uses=2]
     10 @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey = internal global %struct.__CFString* null               ; <%struct.__CFString**> [#uses=7]
     11 internal constant %struct.__builtin_CFString {
     12     i32* getelementptr ([0 x i32]* @__CFConstantStringClassReference, i32 0, i32 0), 
     13     i32 1992, 
     14     i8* getelementptr ([14 x i8]* @.str, i32 0, i32 0), 
     15     i32 13 }, section "__DATA,__cfstring"               ; <%struct.__builtin_CFString*>:0 [#uses=1]
     16 @__CFConstantStringClassReference = external global [0 x i32]           ; <[0 x i32]*> [#uses=1]
     17 @.str = internal constant [14 x i8] c"AlwaysVisible\00"         ; <[14 x i8]*> [#uses=1]
     18 @_ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey = internal global %struct.__CFString* null         ; <%struct.__CFString**> [#uses=2]
     19 
     20 define %struct.__CFString* @_Z19SFLGetVisibilityKeyv() {
     21 entry:
     22         %tmp1 = load %struct.__CFString** @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey              ; <%struct.__CFString*> [#uses=1]
     23         ret %struct.__CFString* %tmp1
     24 }
     25 
     26 define %struct.__CFString* @_Z22SFLGetAlwaysVisibleKeyv() {
     27 entry:
     28         %tmp1 = load %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey                ; <%struct.__CFString*> [#uses=1]
     29         %tmp2 = icmp eq %struct.__CFString* %tmp1, null         ; <i1> [#uses=1]
     30         br i1 %tmp2, label %cond_true, label %cond_next
     31 
     32 cond_true:              ; preds = %entry
     33         store %struct.__CFString* bitcast (%struct.__builtin_CFString* @0 to %struct.__CFString*), %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey
     34         br label %cond_next
     35 
     36 cond_next:              ; preds = %entry, %cond_true
     37         %tmp4 = load %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey                ; <%struct.__CFString*> [#uses=1]
     38         ret %struct.__CFString* %tmp4
     39 }
     40 
     41 define %struct.__CFString* @_Z21SFLGetNeverVisibleKeyv() {
     42 entry:
     43         %tmp1 = load %struct.__CFString** @_ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey          ; <%struct.__CFString*> [#uses=1]
     44         ret %struct.__CFString* %tmp1
     45 }
     46 
     47 define %struct.__CFDictionary* @_ZN18SFLMutableListItem18GetPrefsDictionaryEv(%struct.SFLMutableListItem* %this) {
     48 entry:
     49         %tmp4 = getelementptr %struct.SFLMutableListItem* %this, i32 0, i32 0  ; <i16*> [#uses=1]
     50         %tmp5 = load i16* %tmp4         ; <i16> [#uses=1]
     51         %tmp6 = icmp eq i16 %tmp5, 0            ; <i1> [#uses=1]
     52         br i1 %tmp6, label %cond_next22, label %cond_true
     53 
     54 cond_true:              ; preds = %entry
     55         %tmp9 = load %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey                ; <%struct.__CFString*> [#uses=1]
     56         %tmp10 = icmp eq %struct.__CFString* %tmp9, null                ; <i1> [#uses=1]
     57         br i1 %tmp10, label %cond_true13, label %cond_next22
     58 
     59 cond_true13:            ; preds = %cond_true
     60         store %struct.__CFString* bitcast (%struct.__builtin_CFString* @0 to %struct.__CFString*), %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey
     61         br label %cond_next22
     62 
     63 cond_next22:            ; preds = %entry, %cond_true13, %cond_true
     64         %iftmp.1.0.in = phi %struct.__CFString** [ @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey, %cond_true ], [ @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey, %cond_true13 ], [ @_ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey, %entry ]             ; <%struct.__CFString**> [#uses=1]
     65         %iftmp.1.0 = load %struct.__CFString** %iftmp.1.0.in            ; <%struct.__CFString*> [#uses=1]
     66         %tmp24 = load %struct.__CFString** @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey             ; <%struct.__CFString*> [#uses=1]
     67         %tmp2728 = bitcast %struct.__CFString* %tmp24 to i8*            ; <i8*> [#uses=1]
     68         %tmp2930 = bitcast %struct.__CFString* %iftmp.1.0 to i8*               ; <i8*> [#uses=1]
     69         call void @_Z20CFDictionaryAddValuePKvS0_( i8* %tmp2728, i8* %tmp2930 )
     70         ret %struct.__CFDictionary* undef
     71 }
     72 
     73 declare void @_Z20CFDictionaryAddValuePKvS0_(i8*, i8*)
     74 
     75