LLVM API Documentation

llvm::X86SharedAsmPrinter Struct Reference

#include <X86AsmPrinter.h>

Inheritance diagram for llvm::X86SharedAsmPrinter:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 X86SharedAsmPrinter (std::ostream &O, X86TargetMachine &TM)
bool doInitialization (Module &M)
 doInitialization
bool doFinalization (Module &M)
void getAnalysisUsage (AnalysisUsage &AU) const

Static Public Member Functions

static bool isScale (const MachineOperand &MO)
static bool isMem (const MachineInstr *MI, unsigned Op)

Public Attributes

X86DwarfWriter DW
bool forDarwin
std::set< std::string > FnStubs
std::set< std::string > GVStubs
std::set< std::string > LinkOnceStubs

Detailed Description

Definition at line 56 of file X86AsmPrinter.h.


Constructor & Destructor Documentation

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

Definition at line 59 of file X86AsmPrinter.h.


Member Function Documentation

bool X86SharedAsmPrinter::doFinalization ( Module M  )  [virtual]

doFinalization - Shut down the asmprinter. If you override this in your pass, you must make sure to call it explicitly.

Reimplemented from llvm::AsmPrinter.

Definition at line 85 of file X86AsmPrinter.cpp.

References Align, llvm::AsmPrinter::AlignmentIsInBytes, llvm::GlobalValue::AppendingLinkage, llvm::CallingConv::C, llvm::AsmPrinter::COMMDirective, llvm::AsmPrinter::COMMDirectiveTakesAlignment, llvm::AsmPrinter::CommentString, llvm::AsmPrinter::doFinalization(), DW, E, llvm::AsmPrinter::EmitAlignment(), llvm::AsmPrinter::EmitGlobalConstant(), llvm::AsmPrinter::EmitSpecialLLVMGlobal(), llvm::DwarfWriter::EndModule(), llvm::GlobalValue::ExternalLinkage, FnStubs, forDarwin, llvm::AsmPrinter::getPreferredAlignmentLog(), llvm::TargetMachine::getTargetData(), llvm::TargetData::getTypeSize(), llvm::Mangler::getValueName(), llvm::Module::global_begin(), llvm::Module::global_end(), GVStubs, llvm::AsmPrinter::HasDotTypeDotSizeDirective, I, llvm::GlobalValue::InternalLinkage, llvm::AsmPrinter::LCOMMDirective, llvm::GlobalValue::LinkOnceLinkage, M, llvm::AsmPrinter::Mang, name, llvm::AsmPrinter::O, llvm::AsmPrinter::SwitchSection(), TD, llvm::AsmPrinter::TM, and llvm::GlobalValue::WeakLinkage.

bool X86SharedAsmPrinter::doInitialization ( Module M  )  [virtual]

doInitialization

Reimplemented from llvm::AsmPrinter.

Reimplemented in llvm::X86IntelAsmPrinter.

Definition at line 43 of file X86AsmPrinter.cpp.

References llvm::AsmPrinter::AlignmentIsInBytes, llvm::DwarfWriter::BeginModule(), llvm::AsmPrinter::COMMDirectiveTakesAlignment, llvm::AsmPrinter::ConstantPoolSection, llvm::AsmPrinter::Data64bitsDirective, llvm::AsmPrinter::doInitialization(), DW, forDarwin, llvm::TargetMachine::getSubtarget(), llvm::AsmPrinter::GlobalPrefix, llvm::AsmPrinter::HasDotTypeDotSizeDirective, llvm::AsmPrinter::InlineAsmEnd, llvm::AsmPrinter::InlineAsmStart, llvm::X86Subtarget::isCygwin, llvm::X86Subtarget::isDarwin, llvm::X86Subtarget::isWindows, llvm::AsmPrinter::LCOMMDirective, M, llvm::AsmPrinter::PrivateGlobalPrefix, llvm::AsmPrinter::StaticCtorsSection, llvm::AsmPrinter::StaticDtorsSection, Subtarget, llvm::AsmPrinter::TM, and llvm::AsmPrinter::ZeroDirective.

Referenced by llvm::X86IntelAsmPrinter::doInitialization().

void llvm::X86SharedAsmPrinter::getAnalysisUsage ( AnalysisUsage AU  )  const [inline, virtual]

getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.

Reimplemented from llvm::Pass.

Definition at line 65 of file X86AsmPrinter.h.

References llvm::AnalysisUsage::addRequired(), llvm::Pass::getAnalysisUsage(), and llvm::AnalysisUsage::setPreservesAll().

static bool llvm::X86SharedAsmPrinter::isMem ( const MachineInstr MI,
unsigned  Op 
) [inline, static]

Definition at line 82 of file X86AsmPrinter.h.

References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isConstantPoolIndex(), llvm::MachineOperand::isFrameIndex(), llvm::MachineOperand::isGlobalAddress(), llvm::MachineOperand::isImmediate(), llvm::MachineOperand::isRegister(), isScale(), and MI.

Referenced by llvm::X86IntelAsmPrinter::printMemReference(), and llvm::X86ATTAsmPrinter::printMemReference().

static bool llvm::X86SharedAsmPrinter::isScale ( const MachineOperand MO  )  [inline, static]

Definition at line 76 of file X86AsmPrinter.h.

References llvm::MachineOperand::getImmedValue(), and llvm::MachineOperand::isImmediate().

Referenced by isMem().


Member Data Documentation

X86DwarfWriter llvm::X86SharedAsmPrinter::DW

Definition at line 57 of file X86AsmPrinter.h.

Referenced by doFinalization(), doInitialization(), llvm::X86IntelAsmPrinter::runOnMachineFunction(), and llvm::X86ATTAsmPrinter::runOnMachineFunction().

std::set<std::string> llvm::X86SharedAsmPrinter::FnStubs

Definition at line 74 of file X86AsmPrinter.h.

Referenced by doFinalization(), llvm::X86IntelAsmPrinter::printOp(), and llvm::X86ATTAsmPrinter::printOperand().

bool llvm::X86SharedAsmPrinter::forDarwin

Definition at line 71 of file X86AsmPrinter.h.

Referenced by doFinalization(), doInitialization(), llvm::X86ATTAsmPrinter::printMachineInstruction(), llvm::X86IntelAsmPrinter::printOp(), llvm::X86ATTAsmPrinter::printOperand(), llvm::X86IntelAsmPrinter::runOnMachineFunction(), and llvm::X86ATTAsmPrinter::runOnMachineFunction().

std::set<std::string> llvm::X86SharedAsmPrinter::GVStubs

Definition at line 74 of file X86AsmPrinter.h.

Referenced by doFinalization(), llvm::X86IntelAsmPrinter::printOp(), and llvm::X86ATTAsmPrinter::printOperand().

std::set<std::string> llvm::X86SharedAsmPrinter::LinkOnceStubs

Definition at line 74 of file X86AsmPrinter.h.


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