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