LLVM API Documentation
#include <SystemZAsmPrinter.h>
Public Member Functions | |
SystemZAsmPrinter (TargetMachine &TM, MCStreamer &Streamer) | |
const char * | getPassName () const override |
void | EmitInstruction (const MachineInstr *MI) override |
Targets should implement this to emit instructions. | |
void | EmitMachineConstantPoolValue (MachineConstantPoolValue *MCPV) override |
bool | PrintAsmOperand (const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode, raw_ostream &OS) override |
bool | PrintAsmMemoryOperand (const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode, raw_ostream &OS) override |
void | EmitEndOfAsmFile (Module &M) override |
Definition at line 24 of file SystemZAsmPrinter.h.
llvm::SystemZAsmPrinter::SystemZAsmPrinter | ( | TargetMachine & | TM, |
MCStreamer & | Streamer | ||
) | [inline] |
Definition at line 29 of file SystemZAsmPrinter.h.
References llvm::TargetMachine::getSubtarget().
void SystemZAsmPrinter::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 222 of file SystemZAsmPrinter.cpp.
References llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitSymbolValue(), llvm::TargetSubtargetInfo::getDataLayout(), llvm::MachineModuleInfoELF::GetGVStubList(), llvm::MachineModuleInfo::getObjFileInfo(), llvm::AsmPrinter::getObjFileLowering(), llvm::DataLayout::getPointerSize(), llvm::TargetMachine::getSubtargetImpl(), llvm::SystemZSubtarget::isTargetELF(), llvm::AsmPrinter::MMI, llvm::AsmPrinter::OutStreamer, llvm::MCStreamer::SwitchSection(), and llvm::AsmPrinter::TM.
void SystemZAsmPrinter::EmitInstruction | ( | const MachineInstr * | ) | [override, virtual] |
Targets should implement this to emit instructions.
Reimplemented from llvm::AsmPrinter.
Definition at line 69 of file SystemZAsmPrinter.cpp.
References llvm::MCInstBuilder::addExpr(), llvm::MCInstBuilder::addImm(), llvm::MCInstBuilder::addReg(), llvm::ISD::BR, llvm::AsmPrinter::EmitToStreamer(), llvm::MachineFunction::getContext(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::SystemZMC::getRegAsGR32(), llvm::SystemZMC::getRegAsGRH32(), llvm::SystemZSubtarget::hasFastSerialization(), LOWER_HIGH, LOWER_LOW, lowerRIEfLow(), llvm::AsmPrinter::MF, llvm::AsmPrinter::OutStreamer, llvm::GC::Return, and llvm::MCSymbolRefExpr::VK_PLT.
void SystemZAsmPrinter::EmitMachineConstantPoolValue | ( | MachineConstantPoolValue * | MCPV | ) | [override, virtual] |
Reimplemented from llvm::AsmPrinter.
Definition at line 181 of file SystemZAsmPrinter.cpp.
References llvm::MCSymbolRefExpr::Create(), llvm::MCStreamer::EmitValue(), llvm::TargetSubtargetInfo::getDataLayout(), getModifierVariantKind(), llvm::TargetMachine::getSubtargetImpl(), llvm::AsmPrinter::getSymbol(), llvm::DataLayout::getTypeAllocSize(), llvm::AsmPrinter::OutContext, llvm::AsmPrinter::OutStreamer, and llvm::AsmPrinter::TM.
const char* llvm::SystemZAsmPrinter::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 35 of file SystemZAsmPrinter.h.
bool SystemZAsmPrinter::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 211 of file SystemZAsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and llvm::SystemZInstPrinter::printAddress().
bool SystemZAsmPrinter::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 194 of file SystemZAsmPrinter.cpp.
References llvm::MachineFunction::getContext(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), llvm::AsmPrinter::MF, and printOperand().