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);
1375 } else if (DagInit *DI = dyn_cast<DagInit>(I)) { in emitBody() local
1377 Lines.push_back(DE.emitDag(DI).second + ";"); in emitBody()
1401 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDag(DagInit *DI) { in emitDag() argument
1403 DefInit *DefI = cast<DefInit>(DI->getOperator()); in emitDag()
1407 return emitDagCast(DI, Op == "bitcast"); in emitDag()
1409 return emitDagShuffle(DI); in emitDag()
1411 return emitDagDup(DI); in emitDag()
1413 return emitDagDupTyped(DI); in emitDag()
1415 return emitDagSplat(DI); in emitDag()
1417 return emitDagSaveTemp(DI); in emitDag()
1419 return emitDagOp(DI); in emitDag()
1421 return emitDagCall(DI, Op == "call_mangled"); in emitDag()
1423 return emitDagNameReplace(DI); in emitDag()
1425 return emitDagLiteral(DI); in emitDag()
1430 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagOp(DagInit *DI) { in emitDagOp() argument
1431 std::string Op = cast<StringInit>(DI->getArg(0))->getAsUnquotedString(); in emitDagOp()
1432 if (DI->getNumArgs() == 2) { in emitDagOp()
1435 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagOp()
1438 assert(DI->getNumArgs() == 3 && "Can only handle unary and binary ops!"); in emitDagOp()
1440 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagOp()
1442 emitDagArg(DI->getArg(2), std::string(DI->getArgNameStr(2))); in emitDagOp()
1449 Intrinsic::DagEmitter::emitDagCall(DagInit *DI, bool MatchMangledName) { in emitDagCall() argument
1452 for (unsigned I = 0; I < DI->getNumArgs() - 1; ++I) { in emitDagCall()
1454 emitDagArg(DI->getArg(I + 1), std::string(DI->getArgNameStr(I + 1))); in emitDagCall()
1461 if (StringInit *SI = dyn_cast<StringInit>(DI->getArg(0))) in emitDagCall()
1464 N = emitDagArg(DI->getArg(0), "").second; in emitDagCall()
1482 for (unsigned I = 0; I < DI->getNumArgs() - 1; ++I) { in emitDagCall()
1492 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagCast(DagInit *DI, in emitDagCast() argument
1496 emitDagArg(DI->getArg(DI->getNumArgs() - 1), in emitDagCast()
1497 std::string(DI->getArgNameStr(DI->getNumArgs() - 1))); in emitDagCast()
1499 for (unsigned ArgIdx = 0; ArgIdx < DI->getNumArgs() - 1; ++ArgIdx) { in emitDagCast()
1508 if (!DI->getArgNameStr(ArgIdx).empty()) { in emitDagCast()
1510 DI->getArgNameStr(ArgIdx))) != Intr.Variables.end(), in emitDagCast()
1513 Intr.Variables[std::string(DI->getArgNameStr(ArgIdx))].getType(); in emitDagCast()
1515 StringInit *SI = dyn_cast<StringInit>(DI->getArg(ArgIdx)); in emitDagCast()
1562 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagShuffle(DagInit *DI){ in emitDagShuffle() argument
1630 emitDagArg(DI->getArg(0), std::string(DI->getArgNameStr(0))); in emitDagShuffle()
1632 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagShuffle()
1644 ST.evaluate(DI->getArg(2), Elts, None); in emitDagShuffle()
1672 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagDup(DagInit *DI) { in emitDagDup() argument
1673 assert_with_loc(DI->getNumArgs() == 1, "dup() expects one argument"); in emitDagDup()
1675 emitDagArg(DI->getArg(0), std::string(DI->getArgNameStr(0))); in emitDagDup()
1691 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagDupTyped(DagInit *DI) { in emitDagDupTyped() argument
1692 assert_with_loc(DI->getNumArgs() == 2, "dup_typed() expects two arguments"); in emitDagDupTyped()
1694 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagDupTyped()
1699 if (StringInit *SI = dyn_cast<StringInit>(DI->getArg(0))) { in emitDagDupTyped()
1703 T = emitDagArg(DI->getArg(0), std::string(DI->getArgNameStr(0))).first; in emitDagDupTyped()
1717 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagSplat(DagInit *DI) { in emitDagSplat() argument
1718 assert_with_loc(DI->getNumArgs() == 2, "splat() expects two arguments"); in emitDagSplat()
1720 emitDagArg(DI->getArg(0), std::string(DI->getArgNameStr(0))); in emitDagSplat()
1722 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagSplat()
1736 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagSaveTemp(DagInit *DI) { in emitDagSaveTemp() argument
1737 assert_with_loc(DI->getNumArgs() == 2, "save_temp() expects two arguments"); in emitDagSaveTemp()
1739 emitDagArg(DI->getArg(1), std::string(DI->getArgNameStr(1))); in emitDagSaveTemp()
1744 std::string N = std::string(DI->getArgNameStr(0)); in emitDagSaveTemp()
1759 Intrinsic::DagEmitter::emitDagNameReplace(DagInit *DI) { in emitDagNameReplace() argument
1762 assert_with_loc(DI->getNumArgs() == 2, "name_replace requires 2 arguments!"); in emitDagNameReplace()
1763 std::string ToReplace = cast<StringInit>(DI->getArg(0))->getAsUnquotedString(); in emitDagNameReplace()
1764 std::string ReplaceWith = cast<StringInit>(DI->getArg(1))->getAsUnquotedString(); in emitDagNameReplace()
1774 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagLiteral(DagInit *DI){ in emitDagLiteral() argument
1775 std::string Ty = cast<StringInit>(DI->getArg(0))->getAsUnquotedString(); in emitDagLiteral()
1776 std::string Value = cast<StringInit>(DI->getArg(1))->getAsUnquotedString(); in emitDagLiteral()
1792 DagInit *DI = dyn_cast<DagInit>(Arg); in emitDagArg() local
1793 assert_with_loc(DI, "Arguments must either be DAGs or names!"); in emitDagArg()
1795 return emitDag(DI); in emitDagArg()