1 ; RUN: opt < %s -passes=globalopt -disable-output
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 { ptr, i32, ptr, i32 }
9 @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey = internal global ptr null ; <ptr> [#uses=2]
10 @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey = internal global ptr null ; <ptr> [#uses=7]
11 @0 = internal constant %struct.__builtin_CFString {
12 ptr @__CFConstantStringClassReference,
15 i32 13 }, section "__DATA,__cfstring" ; <ptr>:0 [#uses=1]
16 @__CFConstantStringClassReference = external global [0 x i32] ; <ptr> [#uses=1]
17 @.str = internal constant [14 x i8] c"AlwaysVisible\00" ; <ptr> [#uses=1]
18 @_ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey = internal global ptr null ; <ptr> [#uses=2]
20 define ptr @_Z19SFLGetVisibilityKeyv() {
22 %tmp1 = load ptr, ptr @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey ; <ptr> [#uses=1]
26 define ptr @_Z22SFLGetAlwaysVisibleKeyv() {
28 %tmp1 = load ptr, ptr @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey ; <ptr> [#uses=1]
29 %tmp2 = icmp eq ptr %tmp1, null ; <i1> [#uses=1]
30 br i1 %tmp2, label %cond_true, label %cond_next
32 cond_true: ; preds = %entry
33 store ptr @0, ptr @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey
36 cond_next: ; preds = %entry, %cond_true
37 %tmp4 = load ptr, ptr @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey ; <ptr> [#uses=1]
41 define ptr @_Z21SFLGetNeverVisibleKeyv() {
43 %tmp1 = load ptr, ptr @_ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey ; <ptr> [#uses=1]
47 define ptr @_ZN18SFLMutableListItem18GetPrefsDictionaryEv(ptr %this) {
49 %tmp4 = getelementptr %struct.SFLMutableListItem, ptr %this, i32 0, i32 0 ; <ptr> [#uses=1]
50 %tmp5 = load i16, ptr %tmp4 ; <i16> [#uses=1]
51 %tmp6 = icmp eq i16 %tmp5, 0 ; <i1> [#uses=1]
52 br i1 %tmp6, label %cond_next22, label %cond_true
54 cond_true: ; preds = %entry
55 %tmp9 = load ptr, ptr @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey ; <ptr> [#uses=1]
56 %tmp10 = icmp eq ptr %tmp9, null ; <i1> [#uses=1]
57 br i1 %tmp10, label %cond_true13, label %cond_next22
59 cond_true13: ; preds = %cond_true
60 store ptr @0, ptr @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey
63 cond_next22: ; preds = %entry, %cond_true13, %cond_true
64 %iftmp.1.0.in = phi ptr [ @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey, %cond_true ], [ @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey, %cond_true13 ], [ @_ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey, %entry ] ; <ptr> [#uses=1]
65 %iftmp.1.0 = load ptr, ptr %iftmp.1.0.in ; <ptr> [#uses=1]
66 %tmp24 = load ptr, ptr @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey ; <ptr> [#uses=1]
67 call void @_Z20CFDictionaryAddValuePKvS0_( ptr %tmp24, ptr %iftmp.1.0 )
71 declare void @_Z20CFDictionaryAddValuePKvS0_(ptr, ptr)