Lines Matching defs:Dag
969 if (const auto *Dag = dyn_cast<DagInit>(LHS)) {
972 auto *TI = cast<TypedInit>(Dag->getOperator());
979 return Dag->getOperator();
1255 getDagArgNoByKey(const DagInit *Dag, const Init *Key, std::string &Error) {
1265 if (Pos >= Dag->getNumArgs()) {
1269 std::to_string(Dag->getNumArgs()) + " arguments)")
1278 auto ArgNo = Dag->getArgNo(Name->getValue());
1299 PrintFatalError(Twine("Concatenated Dag operators do not match: '") +
1455 const auto *Dag = dyn_cast<DagInit>(LHS);
1456 if (Dag && isa<IntInit, StringInit>(RHS)) {
1458 auto ArgNo = getDagArgNoByKey(Dag, RHS, Error);
1462 assert(*ArgNo < Dag->getNumArgs());
1464 const Init *Arg = Dag->getArg(*ArgNo);
1467 return UnsetInit::get(Dag->getRecordKeeper());
1473 const auto *Dag = dyn_cast<DagInit>(LHS);
1475 if (Dag && Idx) {
1477 if (Pos < 0 || Pos >= Dag->getNumArgs()) {
1481 std::to_string(Dag->getNumArgs() - 1) + ": " +
1484 const Init *ArgName = Dag->getArgName(Pos);
1492 const auto *Dag = dyn_cast<DagInit>(LHS);
1494 if (Dag && Op) {
1497 for (unsigned i = 0, e = Dag->getNumArgs(); i != e; ++i) {
1498 Args.push_back(Dag->getArg(i));
1499 ArgNames.push_back(Dag->getArgName(i));
1899 const auto *Dag = dyn_cast<DagInit>(LHS);
1900 if (Dag && isa<IntInit, StringInit>(MHS)) {
1902 auto ArgNo = getDagArgNoByKey(Dag, MHS, Error);
1906 assert(*ArgNo < Dag->getNumArgs());
1908 SmallVector<const Init *, 8> Args(Dag->getArgs());
1909 SmallVector<const StringInit *, 8> Names(Dag->getArgNames());
1911 return DagInit::get(Dag->getOperator(), Dag->getName(), Args, Names);
1917 const auto *Dag = dyn_cast<DagInit>(LHS);
1918 if (Dag && isa<IntInit, StringInit>(MHS)) {
1920 auto ArgNo = getDagArgNoByKey(Dag, MHS, Error);
1924 assert(*ArgNo < Dag->getNumArgs());
1926 SmallVector<const Init *, 8> Args(Dag->getArgs());
1927 SmallVector<const StringInit *, 8> Names(Dag->getArgNames());
1929 return DagInit::get(Dag->getOperator(), Dag->getName(), Args, Names);