LLVM API Documentation
#include <MipsAsmPrinter.h>
Definition at line 33 of file MipsAsmPrinter.h.
llvm::MipsAsmPrinter::MipsAsmPrinter | ( | TargetMachine & | TM, |
MCStreamer & | Streamer | ||
) | [inline, explicit] |
Definition at line 97 of file MipsAsmPrinter.h.
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::emitFrameDirective | ( | ) |
Frame Directive.
Definition at line 310 of file MipsAsmPrinter.cpp.
References llvm::MipsTargetStreamer::emitFrame(), llvm::MachineFunction::getFrameInfo(), llvm::TargetRegisterInfo::getFrameRegister(), llvm::MCRegisterInfo::getRARegister(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFrameInfo::getStackSize(), llvm::TargetMachine::getSubtargetImpl(), llvm::AsmPrinter::MF, and llvm::AsmPrinter::TM.
Referenced by EmitFunctionBodyStart().
void MipsAsmPrinter::EmitFunctionBodyEnd | ( | ) | [override, virtual] |
EmitFunctionBodyEnd - Targets can override this to emit stuff after the last basic block in the function.
Reimplemented from llvm::AsmPrinter.
Definition at line 379 of file MipsAsmPrinter.cpp.
References llvm::AsmPrinter::CurrentFnSym, llvm::MCStreamer::EmitDataRegion(), llvm::MipsTargetStreamer::emitDirectiveEnd(), llvm::MipsTargetStreamer::emitDirectiveSetAt(), llvm::MipsTargetStreamer::emitDirectiveSetMacro(), llvm::MipsTargetStreamer::emitDirectiveSetReorder(), llvm::MCSymbol::getName(), llvm::MipsSubtarget::inMips16Mode(), llvm::MCDR_DataRegionEnd, and Subtarget.
void MipsAsmPrinter::EmitFunctionBodyStart | ( | ) | [override, virtual] |
EmitFunctionBodyStart - Targets can override this to emit stuff before the first basic block in the function.
Reimplemented from llvm::AsmPrinter.
Definition at line 355 of file MipsAsmPrinter.cpp.
References llvm::MipsTargetStreamer::emitDirectiveSetNoAt(), llvm::MipsTargetStreamer::emitDirectiveSetNoMacro(), llvm::MipsTargetStreamer::emitDirectiveSetNoReorder(), emitFrameDirective(), llvm::AttributeSet::FunctionIndex, llvm::Intrinsic::getAttributes(), llvm::MachineFunction::getContext(), llvm::MachineFunction::getFunction(), llvm::AttributeSet::hasAttribute(), llvm::MipsMCInstLower::Initialize(), llvm::MipsSubtarget::inMips16Mode(), MCInstLowering, llvm::AsmPrinter::MF, llvm::Attribute::Naked, printSavedRegsBitmask(), and Subtarget.
void MipsAsmPrinter::EmitFunctionEntryLabel | ( | ) | [override, virtual] |
EmitFunctionEntryLabel - Emit the label that is the entrypoint for the function. This can be overridden by targets as required to do custom stuff.
Reimplemented from llvm::AsmPrinter.
Definition at line 331 of file MipsAsmPrinter.cpp.
References llvm::AsmPrinter::CurrentFnSym, llvm::AsmPrinter::EmitAlignment(), llvm::MipsTargetStreamer::emitDirectiveEnt(), llvm::MipsTargetStreamer::emitDirectiveSetMicroMips(), llvm::MipsTargetStreamer::emitDirectiveSetMips16(), llvm::MipsTargetStreamer::emitDirectiveSetNoMicroMips(), llvm::MipsTargetStreamer::emitDirectiveSetNoMips16(), llvm::MCStreamer::EmitLabel(), llvm::MachineFunction::getAlignment(), llvm::MipsSubtarget::inMicroMipsMode(), llvm::MipsSubtarget::inMips16Mode(), llvm::MipsSubtarget::isTargetNaCl(), llvm::AsmPrinter::MF, llvm::MIPS_NACL_BUNDLE_ALIGN, and Subtarget.
void MipsAsmPrinter::EmitInstruction | ( | const MachineInstr * | ) | [override, virtual] |
Targets should implement this to emit instructions.
Reimplemented from llvm::AsmPrinter.
Definition at line 132 of file MipsAsmPrinter.cpp.
References llvm::MachineConstantPoolEntry::ConstVal, llvm::MCStreamer::EmitDataRegion(), llvm::AsmPrinter::EmitGlobalConstant(), llvm::MCStreamer::EmitLabel(), llvm::AsmPrinter::EmitMachineConstantPoolValue(), llvm::AsmPrinter::EmitToStreamer(), llvm::MipsTargetStreamer::forbidModuleDirective(), llvm::MachineConstantPool::getConstants(), llvm::AsmPrinter::GetCPISymbol(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), I, llvm::MipsSubtarget::inMips16Mode(), llvm::MachineBasicBlock::instr_end(), llvm::MachineInstr::isDebugValue(), llvm::MachineConstantPoolEntry::isMachineConstantPoolEntry(), llvm_unreachable, llvm::MipsMCInstLower::Lower(), llvm::MachineConstantPoolEntry::MachineCPVal, llvm::MCDR_DataRegion, llvm::MCDR_DataRegionEnd, MCInstLowering, llvm::AArch64CC::MI, PrintDebugValueComment(), Subtarget, and llvm::MachineConstantPoolEntry::Val.
void MipsAsmPrinter::EmitStartOfAsmFile | ( | Module & | ) | [override, virtual] |
This virtual method can be overridden by targets that want to emit something at the start of their file.
Reimplemented from llvm::AsmPrinter.
Definition at line 673 of file MipsAsmPrinter.cpp.
References llvm::MipsTargetStreamer::emitDirectiveAbiCalls(), llvm::MipsTargetStreamer::emitDirectiveModuleFP(), llvm::MipsTargetStreamer::emitDirectiveModuleOddSPReg(), llvm::MipsTargetStreamer::emitDirectiveNaN2008(), llvm::MipsTargetStreamer::emitDirectiveNaNLegacy(), llvm::MipsTargetStreamer::emitDirectiveOptionPic0(), getCurrentABIString(), llvm::SectionKind::getDataRel(), llvm::MCContext::getELFSection(), llvm::TargetMachine::getRelocationModel(), llvm::MipsSubtarget::isABI_EABI(), llvm::MipsSubtarget::isABI_FPXX(), llvm::MipsSubtarget::isABI_N64(), llvm::MipsSubtarget::isABI_O32(), llvm::MipsSubtarget::isABICalls(), llvm::MipsSubtarget::isFP64bit(), llvm::MipsSubtarget::isGP32bit(), llvm::MipsSubtarget::isNaN2008(), llvm::AsmPrinter::OutContext, llvm::NVPTX::PTXCvtMode::RM, llvm::ELF::SHT_PROGBITS, llvm::Reloc::Static, Subtarget, llvm::MCStreamer::SwitchSection(), llvm::AsmPrinter::TM, llvm::MipsTargetStreamer::updateABIInfo(), and llvm::MipsSubtarget::useOddSPReg().
const char * MipsAsmPrinter::getCurrentABIString | ( | ) | const |
Emit Set directives.
Definition at line 321 of file MipsAsmPrinter.cpp.
References llvm::MipsSubtarget::EABI, llvm::MipsSubtarget::getTargetABI(), llvm_unreachable, llvm::MipsSubtarget::N32, llvm::MipsSubtarget::N64, llvm::MipsSubtarget::O32, and Subtarget.
Referenced by EmitStartOfAsmFile().
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.
bool MipsAsmPrinter::isBlockOnlyReachableByFallthrough | ( | const MachineBasicBlock * | MBB | ) | const [override, virtual] |
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().
void MipsAsmPrinter::PrintDebugValueComment | ( | const MachineInstr * | MI, |
raw_ostream & | OS | ||
) |
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 667 of file MipsAsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), and llvm::Mips::MipsFCCToString().
void MipsAsmPrinter::printMemOperand | ( | const MachineInstr * | MI, |
int | opNum, | ||
raw_ostream & | O | ||
) |
Definition at line 646 of file MipsAsmPrinter.cpp.
References printOperand().
void MipsAsmPrinter::printMemOperandEA | ( | const MachineInstr * | MI, |
int | opNum, | ||
raw_ostream & | O | ||
) |
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().
Definition at line 247 of file MipsAsmPrinter.cpp.
References contains(), llvm::MipsTargetStreamer::emitFMask(), llvm::MipsTargetStreamer::emitMask(), llvm::MachineFrameInfo::getCalleeSavedInfo(), llvm::MCRegisterInfo::getEncodingValue(), llvm::MachineFunction::getFrameInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::TargetMachine::getSubtargetImpl(), llvm::AsmPrinter::MF, and llvm::AsmPrinter::TM.
Referenced by EmitFunctionBodyStart().
void MipsAsmPrinter::printUnsignedImm | ( | const MachineInstr * | MI, |
int | opNum, | ||
raw_ostream & | O | ||
) |
Definition at line 627 of file MipsAsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), and printOperand().
void MipsAsmPrinter::printUnsignedImm8 | ( | const MachineInstr * | MI, |
int | opNum, | ||
raw_ostream & | O | ||
) |
Definition at line 636 of file MipsAsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), and printOperand().
bool MipsAsmPrinter::runOnMachineFunction | ( | MachineFunction & | MF | ) | [override, virtual] |
Emit the specified function out to the OutStreamer.
Reimplemented from llvm::AsmPrinter.
Definition at line 60 of file MipsAsmPrinter.cpp.
References llvm::MachineFunction::getConstantPool(), llvm::MachineFunction::getInfo(), llvm::AsmPrinter::getObjFileLowering(), llvm::TargetMachine::getSubtarget(), llvm::MipsSubtarget::inMips16Mode(), llvm::MipsSubtarget::isTargetNaCl(), MipsFI, llvm::AsmPrinter::OutContext, llvm::MipsFunctionInfo::StubsNeeded, Subtarget, llvm::ARMBuildAttrs::Symbol, and llvm::AsmPrinter::TM.
Definition at line 90 of file MipsAsmPrinter.h.
Referenced by EmitFunctionBodyStart(), and EmitInstruction().
Definition at line 89 of file MipsAsmPrinter.h.
Referenced by runOnMachineFunction().
Definition at line 88 of file MipsAsmPrinter.h.
Referenced by EmitFunctionBodyEnd(), EmitFunctionBodyStart(), EmitFunctionEntryLabel(), EmitInstruction(), EmitStartOfAsmFile(), getCurrentABIString(), PrintAsmOperand(), and runOnMachineFunction().