LLVM API Documentation
#include <NVPTXAsmPrinter.h>
Public Member Functions | |
NVPTXAsmPrinter (TargetMachine &TM, MCStreamer &Streamer) | |
~NVPTXAsmPrinter () | |
bool | ignoreLoc (const MachineInstr &) |
std::string | getVirtualRegisterName (unsigned) const |
void | emitLineNumberAsDotLoc (const MachineInstr &) |
![]() | |
virtual | ~AsmPrinter () |
const DwarfDebug * | getDwarfDebug () const |
bool | isVerbose () const |
unsigned | getFunctionNumber () const |
const TargetLoweringObjectFile & | getObjFileLowering () const |
getObjFileLowering - Return information about object file lowering. More... | |
const DataLayout & | getDataLayout () const |
getDataLayout - Return information about data layout. More... | |
StringRef | getTargetTriple () const |
getTargetTriple - Return the target triple string. More... | |
const MCSection * | getCurrentSection () const |
getCurrentSection() - Return the current section we are emitting to. More... | |
MCSymbol * | getSymbol (const GlobalValue *GV) const |
void | getAnalysisUsage (AnalysisUsage &AU) const |
virtual bool | runOnMachineFunction (MachineFunction &MF) |
void | SetupMachineFunction (MachineFunction &MF) |
void | EmitFunctionHeader () |
void | EmitFunctionBody () |
void | emitPrologLabel (const MachineInstr &MI) |
CFIMoveType | needsCFIMoves () |
bool | needsSEHMoves () |
bool | needsRelocationsForDwarfStringPool () const |
virtual void | EmitConstantPool () |
void | EmitJumpTableInfo () |
virtual void | EmitGlobalVariable (const GlobalVariable *GV) |
EmitGlobalVariable - Emit the specified global variable to the .s file. More... | |
bool | EmitSpecialLLVMGlobal (const GlobalVariable *GV) |
void | EmitAlignment (unsigned NumBits, const GlobalValue *GV=0) const |
void | EmitBasicBlockStart (const MachineBasicBlock *MBB) const |
void | EmitGlobalConstant (const Constant *CV) |
Print a general LLVM constant to the .s file. More... | |
virtual void | EmitStartOfAsmFile (Module &) |
virtual void | EmitEndOfAsmFile (Module &) |
virtual void | EmitMachineConstantPoolValue (MachineConstantPoolValue *MCPV) |
virtual void | EmitXXStructor (const Constant *CV) |
virtual bool | isBlockOnlyReachableByFallthrough (const MachineBasicBlock *MBB) const |
MCSymbol * | GetTempSymbol (StringRef Name, unsigned ID) const |
MCSymbol * | GetTempSymbol (StringRef Name) const |
MCSymbol * | GetSymbolWithGlobalValueBase (const GlobalValue *GV, StringRef Suffix, bool ForcePrivate=true) const |
MCSymbol * | GetExternalSymbolSymbol (StringRef Sym) const |
MCSymbol * | GetCPISymbol (unsigned CPID) const |
GetCPISymbol - Return the symbol for the specified constant pool entry. More... | |
MCSymbol * | GetJTISymbol (unsigned JTID, bool isLinkerPrivate=false) const |
GetJTISymbol - Return the symbol for the specified jump table entry. More... | |
MCSymbol * | GetJTSetSymbol (unsigned UID, unsigned MBBID) const |
MCSymbol * | GetBlockAddressSymbol (const BlockAddress *BA) const |
MCSymbol * | GetBlockAddressSymbol (const BasicBlock *BB) const |
void | printOffset (int64_t Offset, raw_ostream &OS) const |
printOffset - This is just convenient handler for printing offsets. More... | |
void | EmitInt8 (int Value) const |
void | EmitInt16 (int Value) const |
void | EmitInt32 (int Value) const |
void | EmitLabelDifference (const MCSymbol *Hi, const MCSymbol *Lo, unsigned Size) const |
void | EmitLabelOffsetDifference (const MCSymbol *Hi, uint64_t Offset, const MCSymbol *Lo, unsigned Size) const |
void | EmitLabelPlusOffset (const MCSymbol *Label, uint64_t Offset, unsigned Size, bool IsSectionRelative=false) const |
void | EmitLabelReference (const MCSymbol *Label, unsigned Size, bool IsSectionRelative=false) const |
void | EmitSLEB128 (int64_t Value, const char *Desc=0) const |
EmitSLEB128 - emit the specified signed leb128 value. More... | |
void | EmitULEB128 (uint64_t Value, const char *Desc=0, unsigned PadTo=0) const |
EmitULEB128 - emit the specified unsigned leb128 value. More... | |
void | EmitCFAByte (unsigned Val) const |
EmitCFAByte - Emit a .byte 42 directive for a DW_CFA_xxx value. More... | |
void | EmitEncodingByte (unsigned Val, const char *Desc=0) const |
unsigned | GetSizeOfEncodedValue (unsigned Encoding) const |
GetSizeOfEncodedValue - Return the size of the encoding in bytes. More... | |
void | EmitTTypeReference (const GlobalValue *GV, unsigned Encoding) const |
EmitReference - Emit reference to a ttype global with a specified encoding. More... | |
void | EmitSectionOffset (const MCSymbol *Label, const MCSymbol *SectionLabel) const |
virtual unsigned | getISAEncoding () |
virtual void | EmitDwarfRegOp (const MachineLocation &MLoc, bool Indirect) const |
EmitDwarfRegOp - Emit dwarf register operation. More... | |
void | emitCFIInstruction (const MCCFIInstruction &Inst) const |
Emit frame instruction to describe the layout of the frame. More... | |
virtual void | PrintSpecial (const MachineInstr *MI, raw_ostream &OS, const char *Code) const |
![]() | |
FunctionPass (char &pid) | |
Pass * | createPrinterPass (raw_ostream &O, const std::string &Banner) const |
createPrinterPass - Get a function printer pass. More... | |
virtual void | assignPassManager (PMStack &PMS, PassManagerType T) |
virtual PassManagerType | getPotentialPassManagerType () const |
Return what kind of Pass Manager can manage this pass. More... | |
![]() | |
Pass (PassKind K, char &pid) | |
virtual | ~Pass () |
PassKind | getPassKind () const |
AnalysisID | getPassID () const |
getPassID - Return the PassID number that corresponds to this pass. More... | |
virtual void | print (raw_ostream &O, const Module *M) const |
void | dump () const |
virtual void | preparePassManager (PMStack &) |
Check if available pass managers are suitable for this pass or not. More... | |
void | setResolver (AnalysisResolver *AR) |
AnalysisResolver * | getResolver () const |
virtual void | releaseMemory () |
virtual void * | getAdjustedAnalysisPointer (AnalysisID ID) |
virtual ImmutablePass * | getAsImmutablePass () |
virtual PMDataManager * | getAsPMDataManager () |
virtual void | verifyAnalysis () const |
virtual void | dumpPassStructure (unsigned Offset=0) |
template<typename AnalysisType > | |
AnalysisType * | getAnalysisIfAvailable () const |
bool | mustPreserveAnalysisID (char &AID) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis () const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis (Function &F) |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI, Function &F) |
Public Attributes | |
DebugLoc | prevDebugLoc |
![]() | |
TargetMachine & | TM |
const MCAsmInfo * | MAI |
const MCInstrInfo * | MII |
MCContext & | OutContext |
MCStreamer & | OutStreamer |
const MachineFunction * | MF |
The current machine function. More... | |
MachineModuleInfo * | MMI |
MMI - This is a pointer to the current MachineModuleInfo. More... | |
Mangler * | Mang |
MCSymbol * | CurrentFnSym |
MCSymbol * | CurrentFnSymForSize |
Protected Member Functions | |
bool | doInitialization (Module &M) |
bool | doFinalization (Module &M) |
![]() | |
AsmPrinter (TargetMachine &TM, MCStreamer &Streamer) | |
![]() | |
MachineFunctionPass (char &ID) | |
Friends | |
class | AggBuffer |
Additional Inherited Members | |
![]() | |
enum | CFIMoveType { CFI_M_None, CFI_M_EH, CFI_M_Debug } |
![]() | |
static const PassInfo * | lookupPassInfo (const void *TI) |
static const PassInfo * | lookupPassInfo (StringRef Arg) |
static Pass * | createPass (AnalysisID ID) |
Definition at line 70 of file NVPTXAsmPrinter.h.
|
inline |
Definition at line 284 of file NVPTXAsmPrinter.h.
|
inline |
Definition at line 291 of file NVPTXAsmPrinter.h.
doFinalization - Shut down the asmprinter. If you override this in your pass, you must make sure to call it explicitly.
Reimplemented from llvm::AsmPrinter.
Definition at line 992 of file NVPTXAsmPrinter.cpp.
References llvm::iplist< NodeTy, Traits >::begin(), llvm::AsmPrinter::doFinalization(), llvm::iplist< NodeTy, Traits >::empty(), llvm::iplist< NodeTy, Traits >::end(), llvm::Module::getGlobalList(), I, llvm::iplist< NodeTy, Traits >::insert(), llvm::iplist< NodeTy, Traits >::remove(), and llvm::iplist< NodeTy, Traits >::size().
doInitialization - Set up the AsmPrinter when we are working on a new module. If your pass overrides this, it must make sure to explicitly call this implementation.
Reimplemented from llvm::AsmPrinter.
Definition at line 883 of file NVPTXAsmPrinter.cpp.
References llvm::NVPTX::CUDA, llvm::Module::getModuleInlineAsm(), llvm::raw_svector_ostream::str(), and llvm::SystemZISD::TM.
void NVPTXAsmPrinter::emitLineNumberAsDotLoc | ( | const MachineInstr & | MI | ) |
Definition at line 252 of file NVPTXAsmPrinter.cpp.
References llvm::sys::path::append(), EmitLineNumbers, llvm::DebugLoc::getCol(), llvm::Function::getContext(), llvm::MachineInstr::getDebugLoc(), llvm::MachineFunction::getFunction(), llvm::DebugLoc::getLine(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::DebugLoc::getScope(), InterleaveSrc, llvm::sys::path::is_absolute(), and llvm::DebugLoc::isUnknown().
std::string NVPTXAsmPrinter::getVirtualRegisterName | ( | unsigned | Reg | ) | const |
Definition at line 623 of file NVPTXAsmPrinter.cpp.
References llvm::raw_ostream::flush(), llvm::getNVPTXRegClassStr(), llvm::MCRegisterInfo::getRegClass(), I, and MRI.
bool NVPTXAsmPrinter::ignoreLoc | ( | const MachineInstr & | MI | ) |
Definition at line 1965 of file NVPTXAsmPrinter.cpp.
References llvm::TargetOpcode::DBG_VALUE, and llvm::MachineInstr::getOpcode().
|
friend |
Definition at line 178 of file NVPTXAsmPrinter.h.
DebugLoc llvm::NVPTXAsmPrinter::prevDebugLoc |
Definition at line 300 of file NVPTXAsmPrinter.h.