LLVM API Documentation

Public Member Functions | Public Attributes
llvm::MipsAsmPrinter Class Reference

#include <MipsAsmPrinter.h>

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

List of all members.

Public Member Functions

 MipsAsmPrinter (TargetMachine &TM, MCStreamer &Streamer)
const char * getPassName () const override
bool runOnMachineFunction (MachineFunction &MF) override
 Emit the specified function out to the OutStreamer.
void EmitConstantPool () override
void EmitInstruction (const MachineInstr *MI) override
 Targets should implement this to emit instructions.
void printSavedRegsBitmask ()
void emitFrameDirective ()
 Frame Directive.
const char * getCurrentABIString () const
 Emit Set directives.
void EmitFunctionEntryLabel () override
void EmitFunctionBodyStart () override
void EmitFunctionBodyEnd () override
bool isBlockOnlyReachableByFallthrough (const MachineBasicBlock *MBB) const override
bool PrintAsmOperand (const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode, raw_ostream &O) override
bool PrintAsmMemoryOperand (const MachineInstr *MI, unsigned OpNum, unsigned AsmVariant, const char *ExtraCode, raw_ostream &O) override
void printOperand (const MachineInstr *MI, int opNum, raw_ostream &O)
void printUnsignedImm (const MachineInstr *MI, int opNum, raw_ostream &O)
void printUnsignedImm8 (const MachineInstr *MI, int opNum, raw_ostream &O)
void printMemOperand (const MachineInstr *MI, int opNum, raw_ostream &O)
void printMemOperandEA (const MachineInstr *MI, int opNum, raw_ostream &O)
void printFCCOperand (const MachineInstr *MI, int opNum, raw_ostream &O, const char *Modifier=nullptr)
void EmitStartOfAsmFile (Module &M) override
void EmitEndOfAsmFile (Module &M) override
void PrintDebugValueComment (const MachineInstr *MI, raw_ostream &OS)

Public Attributes

const MipsSubtargetSubtarget
const MipsFunctionInfoMipsFI
MipsMCInstLower MCInstLowering

Detailed Description

Definition at line 33 of file MipsAsmPrinter.h.


Constructor & Destructor Documentation

llvm::MipsAsmPrinter::MipsAsmPrinter ( TargetMachine TM,
MCStreamer Streamer 
) [inline, explicit]

Definition at line 97 of file MipsAsmPrinter.h.


Member Function Documentation

void llvm::MipsAsmPrinter::EmitConstantPool ( ) [inline, override, virtual]

Print to the current output stream assembly representations of the constants in the constant pool MCP. This is used to print out constants which have been "spilled to memory" by the code generator.

EmitConstantPool - Print to the current output stream assembly representations of the constants in the constant pool MCP. This is used to print out constants which have been "spilled to memory" by the code generator.

Reimplemented from llvm::AsmPrinter.

Definition at line 107 of file MipsAsmPrinter.h.

References llvm::AsmPrinter::EmitConstantPool().

void MipsAsmPrinter::EmitEndOfAsmFile ( Module ) [override, virtual]

This virtual method can be overridden by targets that want to emit something at the end of their file.

Reimplemented from llvm::AsmPrinter.

Definition at line 981 of file MipsAsmPrinter.cpp.

References llvm::MCContext::getObjectFileInfo(), llvm::MCObjectFileInfo::getTextSection(), llvm::AsmPrinter::OutContext, and llvm::MCStreamer::SwitchSection().

void MipsAsmPrinter::EmitFunctionBodyEnd ( ) [override, virtual]
void MipsAsmPrinter::EmitFunctionBodyStart ( ) [override, virtual]
void MipsAsmPrinter::EmitFunctionEntryLabel ( ) [override, virtual]
void MipsAsmPrinter::EmitInstruction ( const MachineInstr ) [override, virtual]
void MipsAsmPrinter::EmitStartOfAsmFile ( Module ) [override, virtual]
const char* llvm::MipsAsmPrinter::getPassName ( ) const [inline, override, virtual]

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 101 of file MipsAsmPrinter.h.

isBlockOnlyReachableByFallthough - Return true if the basic block has exactly one predecessor and the control transfer mechanism between the predecessor and this block is a fall-through.

Reimplemented from llvm::AsmPrinter.

Definition at line 402 of file MipsAsmPrinter.cpp.

References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::empty(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getBasicBlock(), I, llvm::MachineBasicBlock::isLandingPad(), llvm::MachineBasicBlock::isLayoutSuccessor(), llvm::MachineBasicBlock::pred_begin(), llvm::MachineBasicBlock::pred_empty(), and llvm::MachineBasicBlock::pred_end().

bool MipsAsmPrinter::PrintAsmMemoryOperand ( const MachineInstr MI,
unsigned  OpNo,
unsigned  AsmVariant,
const char *  ExtraCode,
raw_ostream OS 
) [override, virtual]

Print the specified operand of MI, an INLINEASM instruction, using the specified assembler variant as an address. Targets should override this to format as appropriate. This method can return true if the operand is erroneous.

Reimplemented from llvm::AsmPrinter.

Definition at line 543 of file MipsAsmPrinter.cpp.

References llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MipsInstPrinter::getRegisterName(), and llvm::MachineOperand::isReg().

bool MipsAsmPrinter::PrintAsmOperand ( const MachineInstr MI,
unsigned  OpNo,
unsigned  AsmVariant,
const char *  ExtraCode,
raw_ostream O 
) [override, virtual]

Print the specified operand of MI, an INLINEASM instruction, using the specified assembler variant. Targets should override this to format as appropriate. This method can return true if the operand is erroneous.

PrintAsmOperand - Print the specified operand of MI, an INLINEASM instruction, using the specified assembler variant. Targets should override this to format as appropriate.

Reimplemented from llvm::AsmPrinter.

Definition at line 442 of file MipsAsmPrinter.cpp.

References llvm::MachineOperand::getImm(), llvm::InlineAsm::getNumOperandRegisters(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MipsInstPrinter::getRegisterName(), llvm::MachineOperand::getType(), llvm::MipsSubtarget::isGP64bit(), llvm::MachineOperand::isImm(), llvm::MipsSubtarget::isLittle(), llvm::MachineOperand::isReg(), llvm::StringRef::lower(), llvm::MachineOperand::MO_Immediate, printOperand(), Subtarget, and llvm::utohexstr().

Definition at line 997 of file MipsAsmPrinter.cpp.

Referenced by EmitInstruction().

void MipsAsmPrinter::printFCCOperand ( const MachineInstr MI,
int  opNum,
raw_ostream O,
const char *  Modifier = nullptr 
)

Definition at line 646 of file MipsAsmPrinter.cpp.

References printOperand().

Definition at line 657 of file MipsAsmPrinter.cpp.

References printOperand().

void MipsAsmPrinter::printOperand ( const MachineInstr MI,
int  opNum,
raw_ostream O 
)

Definition at line 563 of file MipsAsmPrinter.cpp.

References llvm::MachineOperand::getBlockAddress(), llvm::AsmPrinter::GetBlockAddressSymbol(), llvm::TargetSubtargetInfo::getDataLayout(), llvm::AsmPrinter::getFunctionNumber(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineOperand::getMBB(), llvm::MCSymbol::getName(), llvm::MachineOperand::getOffset(), llvm::MachineInstr::getOperand(), llvm::DataLayout::getPrivateGlobalPrefix(), llvm::MachineOperand::getReg(), llvm::MipsInstPrinter::getRegisterName(), llvm::TargetMachine::getSubtargetImpl(), llvm::AsmPrinter::getSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::getType(), llvm_unreachable, llvm::StringRef::lower(), llvm::MipsII::MO_ABS_HI, llvm::MipsII::MO_ABS_LO, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_GlobalAddress, llvm::MipsII::MO_GOT, llvm::MipsII::MO_GOT_CALL, llvm::MipsII::MO_GOT_DISP, llvm::MipsII::MO_GOT_OFST, llvm::MipsII::MO_GOT_PAGE, llvm::MipsII::MO_GOTTPREL, llvm::MipsII::MO_GPOFF_HI, llvm::MipsII::MO_GPOFF_LO, llvm::MipsII::MO_GPREL, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, llvm::MipsII::MO_TLSGD, llvm::MipsII::MO_TPREL_HI, llvm::MipsII::MO_TPREL_LO, and llvm::AsmPrinter::TM.

Referenced by PrintAsmOperand(), printMemOperand(), printMemOperandEA(), printUnsignedImm(), and printUnsignedImm8().


Member Data Documentation

Definition at line 90 of file MipsAsmPrinter.h.

Referenced by EmitFunctionBodyStart(), and EmitInstruction().

Definition at line 89 of file MipsAsmPrinter.h.

Referenced by runOnMachineFunction().


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