1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281
|
; RUN: llvm-upgrade < %s | llvm-as | llc
%struct.rtunion = type { long }
%struct.rtx_def = type { ushort, ubyte, ubyte, [1 x %struct.rtunion] }
%ix86_cpu = external global uint ; <uint*> [#uses=1]
%which_alternative = external global int ; <int*> [#uses=3]
implementation ; Functions:
declare fastcc int %recog()
void %athlon_fp_unit_ready_cost() {
entry:
%tmp = setlt int 0, 0 ; <bool> [#uses=1]
br bool %tmp, label %cond_true.i, label %cond_true
cond_true: ; preds = %entry
ret void
cond_true.i: ; preds = %entry
%tmp8.i = tail call fastcc int %recog( ) ; <int> [#uses=1]
switch int %tmp8.i, label %UnifiedReturnBlock [
int -1, label %bb2063
int 19, label %bb2035
int 20, label %bb2035
int 21, label %bb2035
int 23, label %bb2035
int 24, label %bb2035
int 27, label %bb2035
int 32, label %bb2035
int 33, label %bb1994
int 35, label %bb2035
int 36, label %bb1994
int 90, label %bb1948
int 94, label %bb1948
int 95, label %bb1948
int 101, label %bb1648
int 102, label %bb1648
int 103, label %bb1648
int 104, label %bb1648
int 133, label %bb1419
int 135, label %bb1238
int 136, label %bb1238
int 137, label %bb1238
int 138, label %bb1238
int 139, label %bb1201
int 140, label %bb1201
int 141, label %bb1154
int 142, label %bb1126
int 144, label %bb1201
int 145, label %bb1126
int 146, label %bb1201
int 147, label %bb1126
int 148, label %bb1201
int 149, label %bb1126
int 150, label %bb1201
int 151, label %bb1126
int 152, label %bb1096
int 153, label %bb1096
int 154, label %bb1096
int 157, label %bb1096
int 158, label %bb1096
int 159, label %bb1096
int 162, label %bb1096
int 163, label %bb1096
int 164, label %bb1096
int 167, label %bb1201
int 168, label %bb1201
int 170, label %bb1201
int 171, label %bb1201
int 173, label %bb1201
int 174, label %bb1201
int 176, label %bb1201
int 177, label %bb1201
int 179, label %bb993
int 180, label %bb993
int 181, label %bb993
int 182, label %bb993
int 183, label %bb993
int 184, label %bb993
int 365, label %bb1126
int 366, label %bb1126
int 367, label %bb1126
int 368, label %bb1126
int 369, label %bb1126
int 370, label %bb1126
int 371, label %bb1126
int 372, label %bb1126
int 373, label %bb1126
int 384, label %bb1126
int 385, label %bb1126
int 386, label %bb1126
int 387, label %bb1126
int 388, label %bb1126
int 389, label %bb1126
int 390, label %bb1126
int 391, label %bb1126
int 392, label %bb1126
int 525, label %bb919
int 526, label %bb839
int 528, label %bb919
int 529, label %bb839
int 531, label %cond_next6.i119
int 532, label %cond_next6.i97
int 533, label %cond_next6.i81
int 534, label %bb495
int 536, label %cond_next6.i81
int 537, label %cond_next6.i81
int 538, label %bb396
int 539, label %bb288
int 541, label %bb396
int 542, label %bb396
int 543, label %bb396
int 544, label %bb396
int 545, label %bb189
int 546, label %cond_next6.i
int 547, label %bb189
int 548, label %cond_next6.i
int 549, label %bb189
int 550, label %cond_next6.i
int 551, label %bb189
int 552, label %cond_next6.i
int 553, label %bb189
int 554, label %cond_next6.i
int 555, label %bb189
int 556, label %cond_next6.i
int 557, label %bb189
int 558, label %cond_next6.i
int 618, label %bb40
int 619, label %bb18
int 620, label %bb40
int 621, label %bb10
int 622, label %bb10
]
bb10: ; preds = %cond_true.i, %cond_true.i
ret void
bb18: ; preds = %cond_true.i
ret void
bb40: ; preds = %cond_true.i, %cond_true.i
ret void
cond_next6.i: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb189: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb288: ; preds = %cond_true.i
ret void
bb396: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb495: ; preds = %cond_true.i
ret void
cond_next6.i81: ; preds = %cond_true.i, %cond_true.i, %cond_true.i
ret void
cond_next6.i97: ; preds = %cond_true.i
ret void
cond_next6.i119: ; preds = %cond_true.i
%tmp.i126 = seteq ushort 0, 78 ; <bool> [#uses=1]
br bool %tmp.i126, label %cond_next778, label %bb802
cond_next778: ; preds = %cond_next6.i119
%tmp781 = seteq uint 0, 1 ; <bool> [#uses=1]
br bool %tmp781, label %cond_next784, label %bb790
cond_next784: ; preds = %cond_next778
%tmp785 = load uint* %ix86_cpu ; <uint> [#uses=1]
%tmp786 = seteq uint %tmp785, 5 ; <bool> [#uses=1]
br bool %tmp786, label %UnifiedReturnBlock, label %bb790
bb790: ; preds = %cond_next784, %cond_next778
%tmp793 = seteq uint 0, 1 ; <bool> [#uses=0]
ret void
bb802: ; preds = %cond_next6.i119
ret void
bb839: ; preds = %cond_true.i, %cond_true.i
ret void
bb919: ; preds = %cond_true.i, %cond_true.i
ret void
bb993: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb1096: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb1126: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb1154: ; preds = %cond_true.i
ret void
bb1201: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb1238: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb1419: ; preds = %cond_true.i
ret void
bb1648: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
%tmp1650 = load int* %which_alternative ; <int> [#uses=1]
switch int %tmp1650, label %bb1701 [
int 0, label %cond_next1675
int 1, label %cond_next1675
int 2, label %cond_next1675
]
cond_next1675: ; preds = %bb1648, %bb1648, %bb1648
ret void
bb1701: ; preds = %bb1648
%tmp1702 = load int* %which_alternative ; <int> [#uses=1]
switch int %tmp1702, label %bb1808 [
int 0, label %cond_next1727
int 1, label %cond_next1727
int 2, label %cond_next1727
]
cond_next1727: ; preds = %bb1701, %bb1701, %bb1701
ret void
bb1808: ; preds = %bb1701
%bothcond696 = or bool false, false ; <bool> [#uses=1]
br bool %bothcond696, label %bb1876, label %cond_next1834
cond_next1834: ; preds = %bb1808
ret void
bb1876: ; preds = %bb1808
%tmp1877signed = load int* %which_alternative ; <int> [#uses=4]
%tmp1877 = cast int %tmp1877signed to uint ; <uint> [#uses=1]
%bothcond699 = setlt uint %tmp1877, 2 ; <bool> [#uses=1]
%tmp1888 = seteq int %tmp1877signed, 2 ; <bool> [#uses=1]
%bothcond700 = or bool %bothcond699, %tmp1888 ; <bool> [#uses=1]
%bothcond700.not = xor bool %bothcond700, true ; <bool> [#uses=1]
%tmp1894 = seteq int %tmp1877signed, 3 ; <bool> [#uses=1]
%bothcond701 = or bool %tmp1894, %bothcond700.not ; <bool> [#uses=1]
%bothcond702 = or bool %bothcond701, false ; <bool> [#uses=1]
br bool %bothcond702, label %UnifiedReturnBlock, label %cond_next1902
cond_next1902: ; preds = %bb1876
switch int %tmp1877signed, label %cond_next1937 [
int 0, label %bb1918
int 1, label %bb1918
int 2, label %bb1918
]
bb1918: ; preds = %cond_next1902, %cond_next1902, %cond_next1902
ret void
cond_next1937: ; preds = %cond_next1902
ret void
bb1948: ; preds = %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb1994: ; preds = %cond_true.i, %cond_true.i
ret void
bb2035: ; preds = %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i, %cond_true.i
ret void
bb2063: ; preds = %cond_true.i
ret void
UnifiedReturnBlock: ; preds = %bb1876, %cond_next784, %cond_true.i
%UnifiedRetVal = phi int [ 100, %bb1876 ], [ 100, %cond_true.i ], [ 4, %cond_next784 ] ; <int> [#uses=0]
ret void
}
|