Lines Matching refs:DI

522     std::pair<Type, std::string> emitDagSaveTemp(DagInit *DI);
523 std::pair<Type, std::string> emitDagSplat(DagInit *DI);
524 std::pair<Type, std::string> emitDagDup(DagInit *DI);
525 std::pair<Type, std::string> emitDagDupTyped(DagInit *DI);
526 std::pair<Type, std::string> emitDagShuffle(DagInit *DI);
527 std::pair<Type, std::string> emitDagCast(DagInit *DI, bool IsBitCast);
528 std::pair<Type, std::string> emitDagCall(DagInit *DI,
530 std::pair<Type, std::string> emitDagNameReplace(DagInit *DI);
531 std::pair<Type, std::string> emitDagLiteral(DagInit *DI);
532 std::pair<Type, std::string> emitDagOp(DagInit *DI);
533 std::pair<Type, std::string> emitDag(DagInit *DI);
1376 } else if (DagInit *DI = dyn_cast<DagInit>(I)) { in emitBody() local
1378 Lines.push_back(DE.emitDag(DI).second + ";"); in emitBody()
1402 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDag(DagInit *DI) { in emitDag() argument
1404 DefInit *DefI = cast<DefInit>(DI->getOperator()); in emitDag()
1408 return emitDagCast(DI, Op == "bitcast"); in emitDag()
1410 return emitDagShuffle(DI); in emitDag()
1412 return emitDagDup(DI); in emitDag()
1414 return emitDagDupTyped(DI); in emitDag()
1416 return emitDagSplat(DI); in emitDag()
1418 return emitDagSaveTemp(DI); in emitDag()
1420 return emitDagOp(DI); in emitDag()
1422 return emitDagCall(DI, Op == "call_mangled"); in emitDag()
1424 return emitDagNameReplace(DI); in emitDag()
1426 return emitDagLiteral(DI); in emitDag()
1431 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagOp(DagInit *DI) { in emitDagOp() argument
1432 std::string Op = cast<StringInit>(DI->getArg(0))->getAsUnquotedString(); in emitDagOp()
1433 if (DI->getNumArgs() == 2) { in emitDagOp()
1436 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagOp()
1439 assert(DI->getNumArgs() == 3 && "Can only handle unary and binary ops!"); in emitDagOp()
1441 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagOp()
1443 emitDagArg(DI->getArg(2), std::string(DI->getArgNameStr(2))); in emitDagOp()
1450 Intrinsic::DagEmitter::emitDagCall(DagInit *DI, bool MatchMangledName) { in emitDagCall() argument
1453 for (unsigned I = 0; I < DI->getNumArgs() - 1; ++I) { in emitDagCall()
1455 emitDagArg(DI->getArg(I + 1), std::string(DI->getArgNameStr(I + 1))); in emitDagCall()
1462 if (StringInit *SI = dyn_cast<StringInit>(DI->getArg(0))) in emitDagCall()
1465 N = emitDagArg(DI->getArg(0), "").second; in emitDagCall()
1483 for (unsigned I = 0; I < DI->getNumArgs() - 1; ++I) { in emitDagCall()
1493 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagCast(DagInit *DI, in emitDagCast() argument
1497 emitDagArg(DI->getArg(DI->getNumArgs() - 1), in emitDagCast()
1498 std::string(DI->getArgNameStr(DI->getNumArgs() - 1))); in emitDagCast()
1500 for (unsigned ArgIdx = 0; ArgIdx < DI->getNumArgs() - 1; ++ArgIdx) { in emitDagCast()
1509 if (!DI->getArgNameStr(ArgIdx).empty()) { in emitDagCast()
1511 DI->getArgNameStr(ArgIdx))) != Intr.Variables.end(), in emitDagCast()
1514 Intr.Variables[std::string(DI->getArgNameStr(ArgIdx))].getType(); in emitDagCast()
1516 StringInit *SI = dyn_cast<StringInit>(DI->getArg(ArgIdx)); in emitDagCast()
1563 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagShuffle(DagInit *DI){ in emitDagShuffle() argument
1631 emitDagArg(DI->getArg(0), std::string(DI->getArgNameStr(0))); in emitDagShuffle()
1633 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagShuffle()
1645 ST.evaluate(DI->getArg(2), Elts, None); in emitDagShuffle()
1673 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagDup(DagInit *DI) { in emitDagDup() argument
1674 assert_with_loc(DI->getNumArgs() == 1, "dup() expects one argument"); in emitDagDup()
1676 emitDagArg(DI->getArg(0), std::string(DI->getArgNameStr(0))); in emitDagDup()
1692 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagDupTyped(DagInit *DI) { in emitDagDupTyped() argument
1693 assert_with_loc(DI->getNumArgs() == 2, "dup_typed() expects two arguments"); in emitDagDupTyped()
1695 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagDupTyped()
1700 if (StringInit *SI = dyn_cast<StringInit>(DI->getArg(0))) { in emitDagDupTyped()
1704 T = emitDagArg(DI->getArg(0), std::string(DI->getArgNameStr(0))).first; in emitDagDupTyped()
1718 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagSplat(DagInit *DI) { in emitDagSplat() argument
1719 assert_with_loc(DI->getNumArgs() == 2, "splat() expects two arguments"); in emitDagSplat()
1721 emitDagArg(DI->getArg(0), std::string(DI->getArgNameStr(0))); in emitDagSplat()
1723 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagSplat()
1737 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagSaveTemp(DagInit *DI) { in emitDagSaveTemp() argument
1738 assert_with_loc(DI->getNumArgs() == 2, "save_temp() expects two arguments"); in emitDagSaveTemp()
1740 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagSaveTemp()
1745 std::string N = std::string(DI->getArgNameStr(0)); in emitDagSaveTemp()
1760 Intrinsic::DagEmitter::emitDagNameReplace(DagInit *DI) { in emitDagNameReplace() argument
1763 assert_with_loc(DI->getNumArgs() == 2, "name_replace requires 2 arguments!"); in emitDagNameReplace()
1764 std::string ToReplace = cast<StringInit>(DI->getArg(0))->getAsUnquotedString(); in emitDagNameReplace()
1765 std::string ReplaceWith = cast<StringInit>(DI->getArg(1))->getAsUnquotedString(); in emitDagNameReplace()
1775 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagLiteral(DagInit *DI){ in emitDagLiteral() argument
1776 std::string Ty = cast<StringInit>(DI->getArg(0))->getAsUnquotedString(); in emitDagLiteral()
1777 std::string Value = cast<StringInit>(DI->getArg(1))->getAsUnquotedString(); in emitDagLiteral()
1793 DagInit *DI = dyn_cast<DagInit>(Arg); in emitDagArg() local
1794 assert_with_loc(DI, "Arguments must either be DAGs or names!"); in emitDagArg()
1796 return emitDag(DI); in emitDagArg()