LLVM API Documentation

llvm::X86ATTAsmPrinter Struct Reference

#include <X86ATTAsmPrinter.h>

Inheritance diagram for llvm::X86ATTAsmPrinter:

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

Collaboration graph
[legend]
List of all members.

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)

Detailed Description

Definition at line 22 of file X86ATTAsmPrinter.h.


Constructor & Destructor Documentation

llvm::X86ATTAsmPrinter::X86ATTAsmPrinter ( std::ostream &  O,
X86TargetMachine TM 
) [inline]

Definition at line 23 of file X86ATTAsmPrinter.h.


Member Function Documentation

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]

Definition at line 39 of file X86ATTAsmPrinter.h.

References MI, and printMemReference().

void llvm::X86ATTAsmPrinter::printi16mem ( const MachineInstr MI,
unsigned  OpNo 
) [inline]

Definition at line 42 of file X86ATTAsmPrinter.h.

References MI, and printMemReference().

void llvm::X86ATTAsmPrinter::printi32mem ( const MachineInstr MI,
unsigned  OpNo 
) [inline]

Definition at line 45 of file X86ATTAsmPrinter.h.

References MI, and printMemReference().

void llvm::X86ATTAsmPrinter::printi64mem ( const MachineInstr MI,
unsigned  OpNo 
) [inline]

Definition at line 48 of file X86ATTAsmPrinter.h.

References MI, and printMemReference().

void llvm::X86ATTAsmPrinter::printi128mem ( const MachineInstr MI,
unsigned  OpNo 
) [inline]

Definition at line 51 of file X86ATTAsmPrinter.h.

References MI, and printMemReference().

void llvm::X86ATTAsmPrinter::printf32mem ( const MachineInstr MI,
unsigned  OpNo 
) [inline]

Definition at line 54 of file X86ATTAsmPrinter.h.

References MI, and printMemReference().

void llvm::X86ATTAsmPrinter::printf64mem ( const MachineInstr MI,
unsigned  OpNo 
) [inline]

Definition at line 57 of file X86ATTAsmPrinter.h.

References MI, and printMemReference().

void llvm::X86ATTAsmPrinter::printf128mem ( const MachineInstr MI,
unsigned  OpNo 
) [inline]

Definition at line 60 of file X86ATTAsmPrinter.h.

References MI, and printMemReference().

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.


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