LLVM API Documentation
#include <X86ATTAsmPrinter.h>
Inheritance diagram for llvm::X86ATTAsmPrinter:
Public Member Functions | |
X86ATTAsmPrinter (std::ostream &O, X86TargetMachine &TM) | |
virtual const char * | getPassName () const |
bool | printInstruction (const MachineInstr *MI) |
void | printOperand (const MachineInstr *MI, unsigned OpNo, const char *Modifier=0) |
void | printi8mem (const MachineInstr *MI, unsigned OpNo) |
void | printi16mem (const MachineInstr *MI, unsigned OpNo) |
void | printi32mem (const MachineInstr *MI, unsigned OpNo) |
void | printi64mem (const MachineInstr *MI, unsigned OpNo) |
void | printi128mem (const MachineInstr *MI, unsigned OpNo) |
void | printf32mem (const MachineInstr *MI, unsigned OpNo) |
void | printf64mem (const MachineInstr *MI, unsigned OpNo) |
void | printf128mem (const MachineInstr *MI, unsigned OpNo) |
bool | printAsmMRegister (const MachineOperand &MO, const char Mode) |
bool | PrintAsmOperand (const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode) |
bool | PrintAsmMemoryOperand (const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode) |
void | printMachineInstruction (const MachineInstr *MI) |
void | printSSECC (const MachineInstr *MI, unsigned Op) |
void | printMemReference (const MachineInstr *MI, unsigned Op) |
void | printPICLabel (const MachineInstr *MI, unsigned Op) |
bool | runOnMachineFunction (MachineFunction &F) |
Definition at line 22 of file X86ATTAsmPrinter.h.
llvm::X86ATTAsmPrinter::X86ATTAsmPrinter | ( | std::ostream & | O, | |
X86TargetMachine & | TM | |||
) | [inline] |
Definition at line 23 of file X86ATTAsmPrinter.h.
virtual const char* llvm::X86ATTAsmPrinter::getPassName | ( | ) | const [inline, 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, and if nothing else is available, C++ RTTI will be consulted to get a SOMEWHAT intelligible name for the pass.
Reimplemented from llvm::Pass.
Definition at line 26 of file X86ATTAsmPrinter.h.
bool llvm::X86ATTAsmPrinter::printInstruction | ( | const MachineInstr * | MI | ) |
printInstruction - This method is automatically generated by tablegen from the instruction set description. This method returns true if the machine instruction was sufficiently described to print it, otherwise it returns false.
Referenced by printMachineInstruction().
void X86ATTAsmPrinter::printOperand | ( | const MachineInstr * | MI, | |
unsigned | OpNo, | |||
const char * | Modifier = 0 | |||
) |
Definition at line 113 of file X86ATTAsmPrinter.cpp.
References llvm::X86SharedAsmPrinter::FnStubs, llvm::MRegisterInfo::get(), llvm::MachineOperand::getConstantPoolIndex(), llvm::AsmPrinter::getFunctionNumber(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImmedValue(), llvm::MachineOperand::getJumpTableIndex(), llvm::MachineOperand::getMachineBasicBlock(), llvm::MachineOperand::getOffset(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::TargetMachine::getRegisterInfo(), llvm::TargetMachine::getRelocationModel(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::getType(), llvm::Mangler::getValueName(), llvm::getX86SubSuperRegister(), llvm::AsmPrinter::GlobalPrefix, GV, llvm::X86SharedAsmPrinter::GVStubs, llvm::GlobalValue::hasLinkOnceLinkage(), llvm::GlobalValue::hasWeakLinkage(), llvm::MVT::i16, llvm::MVT::i8, llvm::GlobalValue::isExternal(), llvm::MRegisterInfo::isPhysicalRegister(), llvm::X86Subtarget::isTargetDarwin(), llvm::AsmPrinter::Mang, MI, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, llvm::TargetRegisterDesc::Name, Name, llvm::AsmPrinter::O, Offset, llvm::Reloc::PIC_, llvm::AsmPrinter::printBasicBlockLabel(), llvm::AsmPrinter::PrivateGlobalPrefix, Reg, llvm::Reloc::Static, llvm::X86SharedAsmPrinter::Subtarget, and llvm::AsmPrinter::TM.
Referenced by PrintAsmOperand(), and printMemReference().
void llvm::X86ATTAsmPrinter::printi8mem | ( | const MachineInstr * | MI, | |
unsigned | OpNo | |||
) | [inline] |
void llvm::X86ATTAsmPrinter::printi16mem | ( | const MachineInstr * | MI, | |
unsigned | OpNo | |||
) | [inline] |
void llvm::X86ATTAsmPrinter::printi32mem | ( | const MachineInstr * | MI, | |
unsigned | OpNo | |||
) | [inline] |
void llvm::X86ATTAsmPrinter::printi64mem | ( | const MachineInstr * | MI, | |
unsigned | OpNo | |||
) | [inline] |
void llvm::X86ATTAsmPrinter::printi128mem | ( | const MachineInstr * | MI, | |
unsigned | OpNo | |||
) | [inline] |
void llvm::X86ATTAsmPrinter::printf32mem | ( | const MachineInstr * | MI, | |
unsigned | OpNo | |||
) | [inline] |
void llvm::X86ATTAsmPrinter::printf64mem | ( | const MachineInstr * | MI, | |
unsigned | OpNo | |||
) | [inline] |
void llvm::X86ATTAsmPrinter::printf128mem | ( | const MachineInstr * | MI, | |
unsigned | OpNo | |||
) | [inline] |
bool X86ATTAsmPrinter::printAsmMRegister | ( | const MachineOperand & | MO, | |
const char | Mode | |||
) |
Definition at line 282 of file X86ATTAsmPrinter.cpp.
References llvm::MRegisterInfo::get(), llvm::MachineOperand::getReg(), llvm::TargetMachine::getRegisterInfo(), llvm::getX86SubSuperRegister(), llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i8, llvm::TargetRegisterDesc::Name, Name, llvm::AsmPrinter::O, Reg, and llvm::AsmPrinter::TM.
Referenced by PrintAsmOperand().
bool X86ATTAsmPrinter::PrintAsmOperand | ( | const MachineInstr * | MI, | |
unsigned | OpNo, | |||
unsigned | AsmVariant, | |||
const char * | ExtraCode | |||
) | [virtual] |
PrintAsmOperand - Print out an operand for an inline asm expression.
Reimplemented from llvm::AsmPrinter.
Definition at line 310 of file X86ATTAsmPrinter.cpp.
References llvm::MachineInstr::getOperand(), MI, printAsmMRegister(), and printOperand().
bool X86ATTAsmPrinter::PrintAsmMemoryOperand | ( | const MachineInstr * | MI, | |
unsigned | OpNo, | |||
unsigned | AsmVariant, | |||
const char * | ExtraCode | |||
) | [virtual] |
PrintAsmMemoryOperand - 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 331 of file X86ATTAsmPrinter.cpp.
References MI, and printMemReference().
void X86ATTAsmPrinter::printMachineInstruction | ( | const MachineInstr * | MI | ) |
printMachineInstruction -- Print out a single X86 LLVM instruction MI in Intel syntax to the current output stream.
Definition at line 344 of file X86ATTAsmPrinter.cpp.
References llvm::AsmPrinter::CommentString, llvm::EmittedInsts, llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::getX86SubSuperRegister(), llvm::MVT::i16, llvm::MVT::i8, llvm::X86Subtarget::isTargetDarwin(), MI, llvm::AsmPrinter::O, printInstruction(), and llvm::X86SharedAsmPrinter::Subtarget.
Referenced by runOnMachineFunction().
void X86ATTAsmPrinter::printSSECC | ( | const MachineInstr * | MI, | |
unsigned | Op | |||
) |
Definition at line 221 of file X86ATTAsmPrinter.cpp.
References llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getOperand(), MI, and llvm::AsmPrinter::O.
void X86ATTAsmPrinter::printMemReference | ( | const MachineInstr * | MI, | |
unsigned | Op | |||
) |
Definition at line 236 of file X86ATTAsmPrinter.cpp.
References llvm::MachineOperand::getFrameIndex(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), IndexReg, llvm::MachineOperand::isConstantPoolIndex(), llvm::MachineOperand::isFrameIndex(), llvm::MachineOperand::isGlobalAddress(), llvm::X86SharedAsmPrinter::isMem(), MI, llvm::AsmPrinter::O, and printOperand().
Referenced by PrintAsmMemoryOperand(), printf128mem(), printf32mem(), printf64mem(), printi128mem(), printi16mem(), printi32mem(), printi64mem(), and printi8mem().
void X86ATTAsmPrinter::printPICLabel | ( | const MachineInstr * | MI, | |
unsigned | Op | |||
) |
Definition at line 276 of file X86ATTAsmPrinter.cpp.
References llvm::AsmPrinter::getFunctionNumber(), and llvm::AsmPrinter::O.
bool X86ATTAsmPrinter::runOnMachineFunction | ( | MachineFunction & | MF | ) | [virtual] |
runOnMachineFunction - This uses the printMachineInstruction() method to print assembly for each instruction.
Implements llvm::MachineFunctionPass.
Definition at line 28 of file X86ATTAsmPrinter.cpp.
References llvm::MachineFunction::begin(), llvm::DwarfWriter::BeginFunction(), llvm::AsmPrinter::CurrentFnName, llvm::X86SharedAsmPrinter::DefaultTextSection, llvm::X86SharedAsmPrinter::DW, E, llvm::AsmPrinter::EmitAlignment(), llvm::AsmPrinter::EmitConstantPool(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::MachineFunction::end(), llvm::DwarfWriter::EndFunction(), llvm::GlobalValue::ExternalLinkage, F, llvm::MachineFunction::getConstantPool(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getJumpTableInfo(), llvm::AsmPrinter::HasDotTypeDotSizeDirective, II, llvm::GlobalValue::InternalLinkage, llvm::X86Subtarget::isCygwin, llvm::X86Subtarget::isTargetDarwin(), llvm::GlobalValue::LinkOnceLinkage, MF, llvm::AsmPrinter::O, llvm::AsmPrinter::printBasicBlockLabel(), printMachineInstruction(), llvm::DwarfWriter::SetDebugInfo(), llvm::AsmPrinter::SetupMachineFunction(), llvm::X86SharedAsmPrinter::Subtarget, llvm::AsmPrinter::SwitchToTextSection(), llvm::X86Subtarget::TargetType, and llvm::GlobalValue::WeakLinkage.