Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -mtriple=i386-apple-darwin | grep xorl | grep "%e"
      2 ; Make sure xorl operands are 32-bit registers.
      3 
      4 	%struct.tm = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8* }
      5 	%struct.wxDateTime = type { %struct.wxLongLong }
      6 	%"struct.wxDateTime::TimeZone" = type { i32 }
      7 	%struct.wxLongLong = type { i64 }
      8 	%struct.wxString = type { %struct.wxStringBase }
      9 	%struct.wxStringBase = type { i32* }
     10 @.str = external constant [27 x i32]		; <[27 x i32]*> [#uses=1]
     11 @.str4 = external constant [14 x i32]		; <[14 x i32]*> [#uses=1]
     12 @_ZZNK10wxDateTime5GetTmERKNS_8TimeZoneEE12__FUNCTION__ = external constant [6 x i8]		; <[6 x i8]*> [#uses=1]
     13 @.str33 = external constant [29 x i32]		; <[29 x i32]*> [#uses=1]
     14 @.str89 = external constant [5 x i32]		; <[5 x i32]*> [#uses=1]
     15 
     16 define void @_ZNK10wxDateTime6FormatEPKwRKNS_8TimeZoneE(%struct.wxString* noalias sret  %agg.result, %struct.wxDateTime* %this, i32* %format, %"struct.wxDateTime::TimeZone"* %tz, i1 %foo) personality i32 (...)* @__gxx_personality_v0 {
     17 entry:
     18 	br i1 %foo, label %bb116.i, label %bb115.critedge.i
     19 bb115.critedge.i:		; preds = %entry
     20 	ret void
     21 bb116.i:		; preds = %entry
     22 	br i1 %foo, label %bb52.i.i, label %bb3118
     23 bb3118:		; preds = %bb116.i
     24 	ret void
     25 bb52.i.i:		; preds = %bb116.i
     26 	br i1 %foo, label %bb142.i, label %bb115.critedge.i.i
     27 bb115.critedge.i.i:		; preds = %bb52.i.i
     28 	ret void
     29 bb142.i:		; preds = %bb52.i.i
     30 	br i1 %foo, label %bb161.i, label %bb182.i
     31 bb161.i:		; preds = %bb142.i
     32 	br label %bb3261
     33 bb182.i:		; preds = %bb142.i
     34 	ret void
     35 bb3261:		; preds = %bb7834, %bb161.i
     36 	%tmp3263 = load i32, i32* null, align 4		; <i32> [#uses=1]
     37 	%tmp3264 = icmp eq i32 %tmp3263, 37		; <i1> [#uses=1]
     38 	br i1 %tmp3264, label %bb3306, label %bb3267
     39 bb3267:		; preds = %bb3261
     40 	ret void
     41 bb3306:		; preds = %bb3261
     42 	%tmp3310 = invoke %struct.wxStringBase* @_ZN12wxStringBaseaSEPKw( %struct.wxStringBase* null, i32* getelementptr ([5 x i32], [5 x i32]* @.str89, i32 0, i32 0) )
     43 			to label %bb3314 unwind label %lpad		; <%struct.wxStringBase*> [#uses=0]
     44 bb3314:		; preds = %bb3306
     45 	%tmp3316 = load i32, i32* null, align 4		; <i32> [#uses=1]
     46 	switch i32 %tmp3316, label %bb7595 [
     47 		 i32 0, label %bb7819
     48 		 i32 37, label %bb7806
     49 		 i32 66, label %bb3477
     50 		 i32 72, label %bb5334
     51 		 i32 73, label %bb5484
     52 		 i32 77, label %bb6118
     53 		 i32 83, label %bb6406
     54 		 i32 85, label %bb6556
     55 		 i32 87, label %bb6708
     56 		 i32 89, label %bb7308
     57 		 i32 98, label %bb3477
     58 		 i32 99, label %bb3626
     59 		 i32 100, label %bb5184
     60 		 i32 106, label %bb5657
     61 		 i32 108, label %bb5809
     62 		 i32 109, label %bb5968
     63 		 i32 119, label %bb6860
     64 		 i32 120, label %bb3626
     65 		 i32 121, label %bb7158
     66 	]
     67 bb3477:		; preds = %bb3314, %bb3314
     68 	ret void
     69 bb3626:		; preds = %bb3314, %bb3314
     70 	ret void
     71 bb5184:		; preds = %bb3314
     72 	ret void
     73 bb5334:		; preds = %bb3314
     74 	ret void
     75 bb5484:		; preds = %bb3314
     76 	ret void
     77 bb5657:		; preds = %bb3314
     78 	%tmp5661 = invoke zeroext i16 @_ZNK10wxDateTime12GetDayOfYearERKNS_8TimeZoneE( %struct.wxDateTime* %this, %"struct.wxDateTime::TimeZone"* %tz )  
     79 			to label %invcont5660 unwind label %lpad		; <i16> [#uses=0]
     80 invcont5660:		; preds = %bb5657
     81 	ret void
     82 bb5809:		; preds = %bb3314
     83 	%tmp61.i.i8486 = icmp sgt i64 0, -1		; <i1> [#uses=1]
     84 	%tmp95.i.i8490 = icmp slt i64 0, 2147483647000		; <i1> [#uses=1]
     85 	%bothcond9308 = and i1 %tmp61.i.i8486, %tmp95.i.i8490		; <i1> [#uses=1]
     86 	br i1 %bothcond9308, label %bb91.i8504, label %bb115.critedge.i.i8492
     87 bb115.critedge.i.i8492:		; preds = %bb5809
     88 	ret void
     89 bb91.i8504:		; preds = %bb5809
     90 	br i1 %foo, label %bb155.i8541, label %bb182.i8560
     91 bb155.i8541:		; preds = %bb91.i8504
     92 	%tmp156.i85398700 = invoke %struct.tm* @gmtime_r( i32* null, %struct.tm* null )
     93 			to label %bb182.i8560 unwind label %lpad		; <%struct.tm*> [#uses=1]
     94 bb182.i8560:		; preds = %bb155.i8541, %bb91.i8504
     95 	%tm48.0.i8558 = phi %struct.tm* [ null, %bb91.i8504 ], [ %tmp156.i85398700, %bb155.i8541 ]		; <%struct.tm*> [#uses=0]
     96 	br i1 %foo, label %bb278.i8617, label %bb187.i8591
     97 bb187.i8591:		; preds = %bb182.i8560
     98 	%tmp245.i8588 = srem i64 0, 86400000		; <i64> [#uses=1]
     99 	br i1 %foo, label %bb264.i8592, label %bb265.i8606
    100 bb264.i8592:		; preds = %bb187.i8591
    101 	ret void
    102 bb265.i8606:		; preds = %bb187.i8591
    103 	%tmp268269.i8593 = trunc i64 %tmp245.i8588 to i32		; <i32> [#uses=1]
    104 	%tmp273.i8594 = srem i32 %tmp268269.i8593, 1000		; <i32> [#uses=1]
    105 	%tmp273274.i8595 = trunc i32 %tmp273.i8594 to i16		; <i16> [#uses=1]
    106 	br label %invcont5814
    107 bb278.i8617:		; preds = %bb182.i8560
    108 	%timeOnly50.0.i8622 = add i32 0, 0		; <i32> [#uses=1]
    109 	br i1 %foo, label %bb440.i8663, label %bb448.i8694
    110 bb440.i8663:		; preds = %bb278.i8617
    111 	invoke void @_Z10wxOnAssertPKwiPKcS0_S0_( i32* getelementptr ([27 x i32], [27 x i32]* @.str, i32 0, i32 0), i32 1717, i8* getelementptr ([6 x i8], [6 x i8]* @_ZZNK10wxDateTime5GetTmERKNS_8TimeZoneEE12__FUNCTION__, i32 0, i32 0), i32* getelementptr ([29 x i32], [29 x i32]* @.str33, i32 0, i32 0), i32* getelementptr ([14 x i32], [14 x i32]* @.str4, i32 0, i32 0) )
    112 			to label %bb448.i8694 unwind label %lpad
    113 bb448.i8694:		; preds = %bb440.i8663, %bb278.i8617
    114 	%tmp477.i8669 = srem i32 %timeOnly50.0.i8622, 1000		; <i32> [#uses=1]
    115 	%tmp477478.i8670 = trunc i32 %tmp477.i8669 to i16		; <i16> [#uses=1]
    116 	br label %invcont5814
    117 invcont5814:		; preds = %bb448.i8694, %bb265.i8606
    118 	%tmp812.0.0 = phi i16 [ %tmp477478.i8670, %bb448.i8694 ], [ %tmp273274.i8595, %bb265.i8606 ]		; <i16> [#uses=1]
    119 	%tmp58165817 = zext i16 %tmp812.0.0 to i32		; <i32> [#uses=1]
    120 	invoke void (%struct.wxString*, i32*, ...) @_ZN8wxString6FormatEPKwz( %struct.wxString* noalias sret  null, i32* null, i32 %tmp58165817 )
    121 			to label %invcont5831 unwind label %lpad
    122 invcont5831:		; preds = %invcont5814
    123 	%tmp5862 = invoke zeroext  i8 @_ZN12wxStringBase10ConcatSelfEmPKwm( %struct.wxStringBase* null, i32 0, i32* null, i32 0 ) 
    124 			to label %bb7834 unwind label %lpad8185		; <i8> [#uses=0]
    125 bb5968:		; preds = %bb3314
    126 	invoke void (%struct.wxString*, i32*, ...) @_ZN8wxString6FormatEPKwz( %struct.wxString* noalias sret  null, i32* null, i32 0 )
    127 			to label %invcont5981 unwind label %lpad
    128 invcont5981:		; preds = %bb5968
    129 	ret void
    130 bb6118:		; preds = %bb3314
    131 	ret void
    132 bb6406:		; preds = %bb3314
    133 	ret void
    134 bb6556:		; preds = %bb3314
    135 	ret void
    136 bb6708:		; preds = %bb3314
    137 	ret void
    138 bb6860:		; preds = %bb3314
    139 	ret void
    140 bb7158:		; preds = %bb3314
    141 	ret void
    142 bb7308:		; preds = %bb3314
    143 	ret void
    144 bb7595:		; preds = %bb3314
    145 	ret void
    146 bb7806:		; preds = %bb3314
    147 	%tmp7814 = invoke %struct.wxStringBase* @_ZN12wxStringBase6appendEmw( %struct.wxStringBase* null, i32 1, i32 0 )
    148 			to label %bb7834 unwind label %lpad		; <%struct.wxStringBase*> [#uses=0]
    149 bb7819:		; preds = %bb3314
    150 	ret void
    151 bb7834:		; preds = %bb7806, %invcont5831
    152 	br label %bb3261
    153 lpad:		; preds = %bb7806, %bb5968, %invcont5814, %bb440.i8663, %bb155.i8541, %bb5657, %bb3306
    154         %exn = landingpad {i8*, i32}
    155                  cleanup
    156 	ret void
    157 lpad8185:		; preds = %invcont5831
    158         %exn8185 = landingpad {i8*, i32}
    159                  cleanup
    160 	ret void
    161 }
    162 
    163 declare void @_Z10wxOnAssertPKwiPKcS0_S0_(i32*, i32, i8*, i32*, i32*)
    164 
    165 declare zeroext  i8 @_ZN12wxStringBase10ConcatSelfEmPKwm(%struct.wxStringBase*, i32, i32*, i32) 
    166 
    167 declare %struct.tm* @gmtime_r(i32*, %struct.tm*)
    168 
    169 declare zeroext  i16 @_ZNK10wxDateTime12GetDayOfYearERKNS_8TimeZoneE(%struct.wxDateTime*, %"struct.wxDateTime::TimeZone"*) 
    170 
    171 declare %struct.wxStringBase* @_ZN12wxStringBase6appendEmw(%struct.wxStringBase*, i32, i32)
    172 
    173 declare %struct.wxStringBase* @_ZN12wxStringBaseaSEPKw(%struct.wxStringBase*, i32*)
    174 
    175 declare void @_ZN8wxString6FormatEPKwz(%struct.wxString* noalias sret , i32*, ...)
    176 
    177 declare i32 @__gxx_personality_v0(...)
    178