LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
llvm::AMDGPUAsmPrinter Class Reference

#include <AMDGPUAsmPrinter.h>

Inheritance diagram for llvm::AMDGPUAsmPrinter:
Inheritance graph
[legend]
Collaboration diagram for llvm::AMDGPUAsmPrinter:
Collaboration graph
[legend]

Public Member Functions

 AMDGPUAsmPrinter (TargetMachine &TM, MCStreamer &Streamer)
 
virtual bool runOnMachineFunction (MachineFunction &MF)
 
virtual const char * getPassName () const
 
void EmitProgramInfoR600 (MachineFunction &MF)
 Emit register usage information so that the GPU driver can correctly setup the GPU state. More...
 
void EmitProgramInfoSI (MachineFunction &MF)
 
virtual void EmitInstruction (const MachineInstr *MI)
 Implemented in AMDGPUMCInstLower.cpp. More...
 
- Public Member Functions inherited from llvm::AsmPrinter
virtual ~AsmPrinter ()
 
const DwarfDebuggetDwarfDebug () const
 
bool isVerbose () const
 
unsigned getFunctionNumber () const
 
const TargetLoweringObjectFilegetObjFileLowering () const
 getObjFileLowering - Return information about object file lowering. More...
 
const DataLayoutgetDataLayout () const
 getDataLayout - Return information about data layout. More...
 
StringRef getTargetTriple () const
 getTargetTriple - Return the target triple string. More...
 
const MCSectiongetCurrentSection () const
 getCurrentSection() - Return the current section we are emitting to. More...
 
MCSymbolgetSymbol (const GlobalValue *GV) const
 
void getAnalysisUsage (AnalysisUsage &AU) const
 
bool doInitialization (Module &M)
 
bool doFinalization (Module &M)
 
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 EmitFunctionBodyStart ()
 
virtual void EmitFunctionBodyEnd ()
 
virtual void EmitFunctionEntryLabel ()
 
virtual void EmitMachineConstantPoolValue (MachineConstantPoolValue *MCPV)
 
virtual void EmitXXStructor (const Constant *CV)
 
virtual bool isBlockOnlyReachableByFallthrough (const MachineBasicBlock *MBB) const
 
virtual void emitImplicitDef (const MachineInstr *MI) const
 
MCSymbolGetTempSymbol (StringRef Name, unsigned ID) const
 
MCSymbolGetTempSymbol (StringRef Name) const
 
MCSymbolGetSymbolWithGlobalValueBase (const GlobalValue *GV, StringRef Suffix, bool ForcePrivate=true) const
 
MCSymbolGetExternalSymbolSymbol (StringRef Sym) const
 
MCSymbolGetCPISymbol (unsigned CPID) const
 GetCPISymbol - Return the symbol for the specified constant pool entry. More...
 
MCSymbolGetJTISymbol (unsigned JTID, bool isLinkerPrivate=false) const
 GetJTISymbol - Return the symbol for the specified jump table entry. More...
 
MCSymbolGetJTSetSymbol (unsigned UID, unsigned MBBID) const
 
MCSymbolGetBlockAddressSymbol (const BlockAddress *BA) const
 
MCSymbolGetBlockAddressSymbol (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
 
virtual bool PrintAsmOperand (const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode, raw_ostream &OS)
 
virtual bool PrintAsmMemoryOperand (const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode, raw_ostream &OS)
 
- Public Member Functions inherited from llvm::FunctionPass
 FunctionPass (char &pid)
 
PasscreatePrinterPass (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...
 
- Public Member Functions inherited from llvm::Pass
 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)
 
AnalysisResolvergetResolver () const
 
virtual void releaseMemory ()
 
virtual void * getAdjustedAnalysisPointer (AnalysisID ID)
 
virtual ImmutablePassgetAsImmutablePass ()
 
virtual PMDataManagergetAsPMDataManager ()
 
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)
 

Protected Attributes

bool DisasmEnabled
 
std::vector< std::string > DisasmLines
 
std::vector< std::string > HexLines
 
size_t DisasmLineMaxLen
 

Additional Inherited Members

- Public Types inherited from llvm::AsmPrinter
enum  CFIMoveType { CFI_M_None, CFI_M_EH, CFI_M_Debug }
 
- Static Public Member Functions inherited from llvm::Pass
static const PassInfolookupPassInfo (const void *TI)
 
static const PassInfolookupPassInfo (StringRef Arg)
 
static PasscreatePass (AnalysisID ID)
 
- Public Attributes inherited from llvm::AsmPrinter
TargetMachineTM
 
const MCAsmInfoMAI
 
const MCInstrInfoMII
 
MCContextOutContext
 
MCStreamerOutStreamer
 
const MachineFunctionMF
 The current machine function. More...
 
MachineModuleInfoMMI
 MMI - This is a pointer to the current MachineModuleInfo. More...
 
ManglerMang
 
MCSymbolCurrentFnSym
 
MCSymbolCurrentFnSymForSize
 
- Protected Member Functions inherited from llvm::AsmPrinter
 AsmPrinter (TargetMachine &TM, MCStreamer &Streamer)
 
- Protected Member Functions inherited from llvm::MachineFunctionPass
 MachineFunctionPass (char &ID)
 

Detailed Description

Definition at line 24 of file AMDGPUAsmPrinter.h.

Constructor & Destructor Documentation

AMDGPUAsmPrinter::AMDGPUAsmPrinter ( TargetMachine TM,
MCStreamer Streamer 
)
explicit

Member Function Documentation

void AMDGPUAsmPrinter::EmitInstruction ( const MachineInstr MI)
virtual
void AMDGPUAsmPrinter::EmitProgramInfoR600 ( MachineFunction MF)
void AMDGPUAsmPrinter::EmitProgramInfoSI ( MachineFunction MF)
virtual const char* llvm::AMDGPUAsmPrinter::getPassName ( ) const
inlinevirtual

getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.

Reimplemented from llvm::Pass.

Definition at line 31 of file AMDGPUAsmPrinter.h.

bool AMDGPUAsmPrinter::runOnMachineFunction ( MachineFunction MF)
virtual

Member Data Documentation

bool llvm::AMDGPUAsmPrinter::DisasmEnabled
protected

Definition at line 44 of file AMDGPUAsmPrinter.h.

Referenced by AMDGPUAsmPrinter(), EmitInstruction(), and runOnMachineFunction().

size_t llvm::AMDGPUAsmPrinter::DisasmLineMaxLen
protected

Definition at line 46 of file AMDGPUAsmPrinter.h.

Referenced by EmitInstruction(), and runOnMachineFunction().

std::vector<std::string> llvm::AMDGPUAsmPrinter::DisasmLines
protected

Definition at line 45 of file AMDGPUAsmPrinter.h.

Referenced by EmitInstruction(), and runOnMachineFunction().

std::vector<std::string> llvm::AMDGPUAsmPrinter::HexLines
protected

Definition at line 45 of file AMDGPUAsmPrinter.h.

Referenced by EmitInstruction(), and runOnMachineFunction().


The documentation for this class was generated from the following files: