LLVM API Documentation
#include <X86AsmPrinter.h>
Inheritance diagram for llvm::X86SharedAsmPrinter:
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 |
Definition at line 56 of file X86AsmPrinter.h.
llvm::X86SharedAsmPrinter::X86SharedAsmPrinter | ( | std::ostream & | O, | |
X86TargetMachine & | TM | |||
) | [inline] |
Definition at line 59 of file X86AsmPrinter.h.
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().
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().
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.