reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
147 if (ShufTab[Op].Arg0 == 0x0123) 149 else if (ShufTab[Op].Arg0 == 0x4567) 161 std::cerr << " = " << ShufTab[ThisOp].Op->getName() << "("; 163 if (ShufTab[ShufTab[ThisOp].Arg0].Cost == 0) { 163 if (ShufTab[ShufTab[ThisOp].Arg0].Cost == 0) { 164 std::cerr << getZeroCostOpName(ShufTab[ThisOp].Arg0); 165 PrintMask(ShufTab[ThisOp].Arg0, std::cerr); 169 if (Vals[i] == ShufTab[ThisOp].Arg0) { 175 if (!ShufTab[Vals[ValNo]].Op->isOnlyLHSOperator()) { 177 if (ShufTab[ShufTab[ThisOp].Arg1].Cost == 0) { 177 if (ShufTab[ShufTab[ThisOp].Arg1].Cost == 0) { 178 std::cerr << getZeroCostOpName(ShufTab[ThisOp].Arg1); 179 PrintMask(ShufTab[ThisOp].Arg1, std::cerr); 183 if (Vals[i] == ShufTab[ThisOp].Arg1) { 195 Count += ShufTab[i].Cost < 100; 201 if (ShufTab[Elt].Cost == 0) return; 208 unsigned Arg0 = ShufTab[Elt].Arg0, Arg1 = ShufTab[Elt].Arg1; 208 unsigned Arg0 = ShufTab[Elt].Arg0, Arg1 = ShufTab[Elt].Arg1; 209 if (ShufTab[Arg0].Cost) 211 if (Arg0 != Arg1 && ShufTab[Arg1].Cost) 220 ShufTab[0x0123].Cost = 0; 221 ShufTab[0x0123].Op = nullptr; 222 ShufTab[0x0123].Arg0 = 0x0123; 223 ShufTab[0x4567].Cost = 0; 224 ShufTab[0x4567].Op = nullptr; 225 ShufTab[0x4567].Arg0 = 0x4567; 240 unsigned MaxCost = ShufTab[0].Cost; 243 if (ShufTab[i].Cost > MaxCost) 244 MaxCost = ShufTab[i].Cost; 274 unsigned MinCost = ShufTab[i].Cost; 279 if (ShufTab[NewElt].Cost < MinCost) { 280 MinCost = ShufTab[NewElt].Cost; 288 ShufTab[i] = ShufTab[MinVal]; 288 ShufTab[i] = ShufTab[MinVal]; 295 if (ShufTab[LHS].Cost > 1000) continue; 299 if (ShufTab[LHS].Cost + 1 >= MaxCost) 308 unsigned Cost = ShufTab[LHS].Cost + Op->getCost(); 309 if (Cost < ShufTab[ResultMask].Cost) { 310 ShufTab[ResultMask].Cost = Cost; 311 ShufTab[ResultMask].Op = Op; 312 ShufTab[ResultMask].Arg0 = LHS; 313 ShufTab[ResultMask].Arg1 = LHS; 323 if (ShufTab[RHS].Cost > 1000) continue; 327 if (ShufTab[RHS].Cost + 1 >= MaxCost) 334 if (ShufTab[ResultMask].Cost <= OpCount || 335 ShufTab[ResultMask].Cost <= ShufTab[LHS].Cost || 335 ShufTab[ResultMask].Cost <= ShufTab[LHS].Cost || 336 ShufTab[ResultMask].Cost <= ShufTab[RHS].Cost) 336 ShufTab[ResultMask].Cost <= ShufTab[RHS].Cost) 347 if (Cost < ShufTab[ResultMask].Cost) { 348 ShufTab[ResultMask].Cost = Cost; 349 ShufTab[ResultMask].Op = Op; 350 ShufTab[ResultMask].Arg0 = LHS; 351 ShufTab[ResultMask].Arg1 = RHS; 367 if (ShufTab[i].Cost > 9) 370 ++CostArray[ShufTab[i].Cost]; 388 unsigned CostSat = ShufTab[i].Cost; 393 unsigned OpNum = ShufTab[i].Op ? ShufTab[i].Op->OpNum : 0; 393 unsigned OpNum = ShufTab[i].Op ? ShufTab[i].Op->OpNum : 0; 396 unsigned LHS = getCompressedMask(ShufTab[i].Arg0); 397 unsigned RHS = getCompressedMask(ShufTab[i].Arg1); 405 std::cout << ": Cost " << ShufTab[i].Cost; 406 std::cout << " " << (ShufTab[i].Op ? ShufTab[i].Op->getName() : "copy"); 406 std::cout << " " << (ShufTab[i].Op ? ShufTab[i].Op->getName() : "copy"); 408 if (ShufTab[ShufTab[i].Arg0].Cost == 0) { 408 if (ShufTab[ShufTab[i].Arg0].Cost == 0) { 409 std::cout << getZeroCostOpName(ShufTab[i].Arg0); 411 PrintMask(ShufTab[i].Arg0, std::cout); 414 if (ShufTab[i].Op && !ShufTab[i].Op->isOnlyLHSOperator()) { 414 if (ShufTab[i].Op && !ShufTab[i].Op->isOnlyLHSOperator()) { 416 if (ShufTab[ShufTab[i].Arg1].Cost == 0) { 416 if (ShufTab[ShufTab[i].Arg1].Cost == 0) { 417 std::cout << getZeroCostOpName(ShufTab[i].Arg1); 419 PrintMask(ShufTab[i].Arg1, std::cout); 430 if (ShufTab[i].Cost < 1000) { 432 std::cerr << " - Cost " << ShufTab[i].Cost << " - ";