Lines Matching full:dc

103   LLVMDisasmContext *DC = new LLVMDisasmContext(
107 if (!DC)
110 DC->setCPU(CPU);
111 return DC;
133 LLVMDisasmContext *DC = static_cast<LLVMDisasmContext *>(DCR);
134 delete DC;
137 /// Emits the comments that are stored in \p DC comment stream.
139 static void emitComments(LLVMDisasmContext *DC,
142 StringRef Comments = DC->CommentsToEmit.str();
144 const MCAsmInfo *MAI = DC->getAsmInfo();
162 DC->CommentsToEmit.clear();
166 /// scheduling model, based on \p DC information.
169 static int getItineraryLatency(LLVMDisasmContext *DC, const MCInst &Inst) {
173 if (DC->getCPU().empty())
177 const MCSubtargetInfo *STI = DC->getSubtargetInfo();
178 InstrItineraryData IID = STI->getInstrItineraryForCPU(DC->getCPU());
180 const MCInstrDesc& Desc = DC->getInstrInfo()->get(Inst.getOpcode());
192 /// Gets latency information for \p Inst, based on \p DC information.
195 static int getLatency(LLVMDisasmContext *DC, const MCInst &Inst) {
197 const MCSubtargetInfo *STI = DC->getSubtargetInfo();
205 return getItineraryLatency(DC, Inst);
208 const MCInstrDesc& Desc = DC->getInstrInfo()->get(Inst.getOpcode());
229 /// Emits latency information in DC->CommentStream for \p Inst, based
230 /// on the information available in \p DC.
231 static void emitLatency(LLVMDisasmContext *DC, const MCInst &Inst) {
232 int Latency = getLatency(DC, Inst);
238 DC->CommentStream << "Latency: " << Latency << '\n';
243 // disassembler context specified in the parameter DC. The bytes of the
256 LLVMDisasmContext *DC = static_cast<LLVMDisasmContext *>(DCR);
262 const MCDisassembler *DisAsm = DC->getDisAsm();
263 MCInstPrinter *IP = DC->getIP();
280 IP->printInst(&Inst, PC, AnnotationsStr, *DC->getSubtargetInfo(),
283 if (DC->getOptions() & LLVMDisassembler_Option_PrintLatency)
284 emitLatency(DC, Inst);
286 emitComments(DC, FormattedOS);
305 LLVMDisasmContext *DC = static_cast<LLVMDisasmContext *>(DCR);
306 MCInstPrinter *IP = DC->getIP();
308 DC->addOptions(LLVMDisassembler_Option_UseMarkup);
312 LLVMDisasmContext *DC = static_cast<LLVMDisasmContext *>(DCR);
313 MCInstPrinter *IP = DC->getIP();
315 DC->addOptions(LLVMDisassembler_Option_PrintImmHex);
319 LLVMDisasmContext *DC = static_cast<LLVMDisasmContext *>(DCR);
321 const MCAsmInfo *MAI = DC->getAsmInfo();
322 const MCInstrInfo *MII = DC->getInstrInfo();
323 const MCRegisterInfo *MRI = DC->getRegisterInfo();
326 MCInstPrinter *IP = DC->getTarget()->createMCInstPrinter(
327 Triple(DC->getTripleName()), AsmPrinterVariant, *MAI, *MII, *MRI);
329 DC->setIP(IP);
330 DC->addOptions(LLVMDisassembler_Option_AsmPrinterVariant);
335 LLVMDisasmContext *DC = static_cast<LLVMDisasmContext *>(DCR);
336 MCInstPrinter *IP = DC->getIP();
337 IP->setCommentStream(DC->CommentStream);
338 DC->addOptions(LLVMDisassembler_Option_SetInstrComments);
342 LLVMDisasmContext *DC = static_cast<LLVMDisasmContext *>(DCR);
343 DC->addOptions(LLVMDisassembler_Option_PrintLatency);