Owen Anderson | 2889779 | 2008-08-05 18:19:14 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin | grep xorl | grep {%e} |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 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 | |
Owen Anderson | 4380a8f | 2008-08-05 18:08:56 +0000 | [diff] [blame] | 16 | define void @_ZNK10wxDateTime6FormatEPKwRKNS_8TimeZoneE(%struct.wxString* noalias sret %agg.result, %struct.wxDateTime* %this, i32* %format, %"struct.wxDateTime::TimeZone"* %tz, i1 %foo) { |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 17 | entry: |
Owen Anderson | 4380a8f | 2008-08-05 18:08:56 +0000 | [diff] [blame] | 18 | br i1 %foo, label %bb116.i, label %bb115.critedge.i |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 19 | bb115.critedge.i: ; preds = %entry |
| 20 | ret void |
| 21 | bb116.i: ; preds = %entry |
Owen Anderson | 4380a8f | 2008-08-05 18:08:56 +0000 | [diff] [blame] | 22 | br i1 %foo, label %bb52.i.i, label %bb3118 |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 23 | bb3118: ; preds = %bb116.i |
| 24 | ret void |
| 25 | bb52.i.i: ; preds = %bb116.i |
Owen Anderson | 4380a8f | 2008-08-05 18:08:56 +0000 | [diff] [blame] | 26 | br i1 %foo, label %bb142.i, label %bb115.critedge.i.i |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 27 | bb115.critedge.i.i: ; preds = %bb52.i.i |
| 28 | ret void |
| 29 | bb142.i: ; preds = %bb52.i.i |
Owen Anderson | 4380a8f | 2008-08-05 18:08:56 +0000 | [diff] [blame] | 30 | br i1 %foo, label %bb161.i, label %bb182.i |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 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* 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]* @.str89, i32 0, i32 0) ) |
| 43 | to label %bb3314 unwind label %lpad ; <%struct.wxStringBase*> [#uses=0] |
| 44 | bb3314: ; preds = %bb3306 |
| 45 | %tmp3316 = load 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 i16 @_ZNK10wxDateTime12GetDayOfYearERKNS_8TimeZoneE( %struct.wxDateTime* %this, %"struct.wxDateTime::TimeZone"* %tz ) zeroext |
| 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 |
Owen Anderson | 4380a8f | 2008-08-05 18:08:56 +0000 | [diff] [blame] | 90 | br i1 %foo, label %bb155.i8541, label %bb182.i8560 |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 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] |
Owen Anderson | 4380a8f | 2008-08-05 18:08:56 +0000 | [diff] [blame] | 96 | br i1 %foo, label %bb278.i8617, label %bb187.i8591 |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 97 | bb187.i8591: ; preds = %bb182.i8560 |
| 98 | %tmp245.i8588 = srem i64 0, 86400000 ; <i64> [#uses=1] |
Owen Anderson | 4380a8f | 2008-08-05 18:08:56 +0000 | [diff] [blame] | 99 | br i1 %foo, label %bb264.i8592, label %bb265.i8606 |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 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] |
Owen Anderson | 4380a8f | 2008-08-05 18:08:56 +0000 | [diff] [blame] | 109 | br i1 %foo, label %bb440.i8663, label %bb448.i8694 |
Evan Cheng | dcf29c3 | 2008-04-17 07:58:04 +0000 | [diff] [blame] | 110 | bb440.i8663: ; preds = %bb278.i8617 |
| 111 | invoke void @_Z10wxOnAssertPKwiPKcS0_S0_( i32* getelementptr ([27 x i32]* @.str, i32 0, i32 0), i32 1717, i8* getelementptr ([6 x i8]* @_ZZNK10wxDateTime5GetTmERKNS_8TimeZoneEE12__FUNCTION__, i32 0, i32 0), i32* getelementptr ([29 x i32]* @.str33, i32 0, i32 0), i32* getelementptr ([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 i8 @_ZN12wxStringBase10ConcatSelfEmPKwm( %struct.wxStringBase* null, i32 0, i32* null, i32 0 ) zeroext |
| 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 | ret void |
| 155 | lpad8185: ; preds = %invcont5831 |
| 156 | ret void |
| 157 | } |
| 158 | |
| 159 | declare void @_Z10wxOnAssertPKwiPKcS0_S0_(i32*, i32, i8*, i32*, i32*) |
| 160 | |
| 161 | declare i8 @_ZN12wxStringBase10ConcatSelfEmPKwm(%struct.wxStringBase*, i32, i32*, i32) zeroext |
| 162 | |
| 163 | declare %struct.tm* @gmtime_r(i32*, %struct.tm*) |
| 164 | |
| 165 | declare i16 @_ZNK10wxDateTime12GetDayOfYearERKNS_8TimeZoneE(%struct.wxDateTime*, %"struct.wxDateTime::TimeZone"*) zeroext |
| 166 | |
| 167 | declare %struct.wxStringBase* @_ZN12wxStringBase6appendEmw(%struct.wxStringBase*, i32, i32) |
| 168 | |
| 169 | declare %struct.wxStringBase* @_ZN12wxStringBaseaSEPKw(%struct.wxStringBase*, i32*) |
| 170 | |
| 171 | declare void @_ZN8wxString6FormatEPKwz(%struct.wxString* noalias sret , i32*, ...) |