LLVM API Documentation
#include "Disassembler.h"#include "llvm-c/Disassembler.h"#include "llvm/MC/MCAsmInfo.h"#include "llvm/MC/MCContext.h"#include "llvm/MC/MCDisassembler.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCInstPrinter.h"#include "llvm/MC/MCInstrInfo.h"#include "llvm/MC/MCRegisterInfo.h"#include "llvm/MC/MCRelocationInfo.h"#include "llvm/MC/MCSubtargetInfo.h"#include "llvm/MC/MCSymbolizer.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/FormattedStream.h"#include "llvm/Support/MemoryObject.h"#include "llvm/Support/TargetRegistry.h"
Go to the source code of this file.
Functions | |
| LLVMDisasmContextRef | LLVMCreateDisasmCPU (const char *Triple, const char *CPU, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp) |
| LLVMDisasmContextRef | LLVMCreateDisasm (const char *Triple, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp) |
| void | LLVMDisasmDispose (LLVMDisasmContextRef DCR) |
| static void | emitComments (LLVMDisasmContext *DC, formatted_raw_ostream &FormattedOS) |
Emits the comments that are stored in DC comment stream. Each comment in the comment stream must end with a newline. | |
| static int | getItineraryLatency (LLVMDisasmContext *DC, const MCInst &Inst) |
Gets latency information for Inst form the itinerary scheduling model, based on DC information. | |
| static int | getLatency (LLVMDisasmContext *DC, const MCInst &Inst) |
Gets latency information for Inst, based on DC information. | |
| static void | emitLatency (LLVMDisasmContext *DC, const MCInst &Inst) |
Emits latency information in DC->CommentStream for Inst, based on the information available in DC. | |
| size_t | LLVMDisasmInstruction (LLVMDisasmContextRef DCR, uint8_t *Bytes, uint64_t BytesSize, uint64_t PC, char *OutString, size_t OutStringSize) |
| int | LLVMSetDisasmOptions (LLVMDisasmContextRef DCR, uint64_t Options) |
| static void emitComments | ( | LLVMDisasmContext * | DC, |
| formatted_raw_ostream & | FormattedOS | ||
| ) | [static] |
Emits the comments that are stored in DC comment stream. Each comment in the comment stream must end with a newline.
Definition at line 145 of file Disassembler.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::LLVMDisasmContext::CommentsToEmit, llvm::LLVMDisasmContext::CommentStream, llvm::StringRef::empty(), llvm::StringRef::find(), llvm::raw_ostream::flush(), llvm::LLVMDisasmContext::getAsmInfo(), llvm::MCAsmInfo::getCommentColumn(), llvm::MCAsmInfo::getCommentString(), llvm::formatted_raw_ostream::PadToColumn(), llvm::raw_svector_ostream::resync(), llvm::SmallString< InternalLen >::str(), and llvm::StringRef::substr().
Referenced by LLVMDisasmInstruction().
| static void emitLatency | ( | LLVMDisasmContext * | DC, |
| const MCInst & | Inst | ||
| ) | [static] |
Emits latency information in DC->CommentStream for Inst, based on the information available in DC.
Definition at line 239 of file Disassembler.cpp.
References llvm::LLVMDisasmContext::CommentStream, and getLatency().
Referenced by LLVMDisasmInstruction().
| static int getItineraryLatency | ( | LLVMDisasmContext * | DC, |
| const MCInst & | Inst | ||
| ) | [static] |
Gets latency information for Inst form the itinerary scheduling model, based on DC information.
Definition at line 177 of file Disassembler.cpp.
References llvm::StringRef::empty(), llvm::MCInstrInfo::get(), llvm::LLVMDisasmContext::getCPU(), llvm::LLVMDisasmContext::getInstrInfo(), llvm::MCSubtargetInfo::getInstrItineraryForCPU(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), llvm::InstrItineraryData::getOperandCycle(), llvm::MCInstrDesc::getSchedClass(), and llvm::LLVMDisasmContext::getSubtargetInfo().
Referenced by getLatency().
| static int getLatency | ( | LLVMDisasmContext * | DC, |
| const MCInst & | Inst | ||
| ) | [static] |
Gets latency information for Inst, based on DC information.
Definition at line 202 of file Disassembler.cpp.
References llvm::MCWriteLatencyEntry::Cycles, llvm::MCInstrInfo::get(), llvm::LLVMDisasmContext::getInstrInfo(), getItineraryLatency(), llvm::MCInst::getOpcode(), llvm::MCInstrDesc::getSchedClass(), llvm::MCSchedModel::getSchedClassDesc(), llvm::MCSubtargetInfo::getSchedModel(), llvm::LLVMDisasmContext::getSubtargetInfo(), llvm::MCSubtargetInfo::getWriteLatencyEntry(), llvm::MCSchedModel::hasInstrSchedModel(), llvm::MCSchedClassDesc::isValid(), llvm::MCSchedClassDesc::isVariant(), and llvm::MCSchedClassDesc::NumWriteLatencyEntries.
Referenced by emitLatency().