Lines Matching defs:DI
107 const auto *DI = dyn_cast<DagInit>(Arg);
108 if (!DI)
110 const Init *Op = DI->getOperator();
117 if (!DI->getNumArgs() || !isa<StringInit>(DI->getArg(0)))
120 StringRef FuncName = cast<StringInit>(DI->getArg(0))->getValue();
129 VarLenInst::VarLenInst(const DagInit *DI, const RecordVal *TheDef)
131 buildRec(DI);
136 void VarLenInst::buildRec(const DagInit *DI) {
139 std::string Op = DI->getOperator()->getAsString();
143 int i = Reverse ? DI->getNumArgs() - 1 : 0;
144 int e = Reverse ? -1 : DI->getNumArgs();
147 const Init *Arg = DI->getArg(i);
168 if (DI->getNumArgs() < 2)
172 const Init *OperandName = DI->getArg(0), *NumBits = DI->getArg(1);
181 getCustomCoders(DI->getArgs().slice(2));
187 if (DI->getNumArgs() < 3)
191 const Init *OperandName = DI->getArg(0), *HiBit = DI->getArg(1),
192 *LoBit = DI->getArg(2);
211 getCustomCoders(DI->getArgs().slice(3));
217 DagInit::get(DI->getOperator(), nullptr, NewArgs, {}),
220 Segments.push_back({NumBits, DI, CustomEncoder, CustomDecoder});
239 if (auto *DI = dyn_cast_or_null<DefInit>(RV->getValue())) {
241 EncodingInfoByHwMode EBM(DI->getDef(), HWM);
245 const DagInit *DI = cast<DagInit>(RV->getValue());
246 VarLenInsts[R].insert({Mode, VarLenInst(DI, RV)});
252 const DagInit *DI = cast<DagInit>(RV->getValue());
253 VarLenInsts[R].insert({Universal, VarLenInst(DI, RV)});