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 |
const char * | DefaultTextSection |
const char * | DefaultDataSection |
const X86Subtarget * | Subtarget |
std::set< std::string > | FnStubs |
std::set< std::string > | GVStubs |
std::set< std::string > | LinkOnceStubs |
Definition at line 54 of file X86AsmPrinter.h.
llvm::X86SharedAsmPrinter::X86SharedAsmPrinter | ( | std::ostream & | O, | |
X86TargetMachine & | TM | |||
) | [inline] |
Definition at line 57 of file X86AsmPrinter.h.
References llvm::TargetMachine::getSubtarget(), Subtarget, and llvm::AsmPrinter::TM.
bool X86SharedAsmPrinter::doInitialization | ( | Module & | M | ) | [virtual] |
doInitialization
Reimplemented from llvm::AsmPrinter.
Reimplemented in llvm::X86IntelAsmPrinter.
Definition at line 52 of file X86AsmPrinter.cpp.
References llvm::AsmPrinter::AlignmentIsInBytes, llvm::DwarfWriter::BeginModule(), llvm::AsmPrinter::COMMDirectiveTakesAlignment, llvm::AsmPrinter::ConstantPoolSection, llvm::AsmPrinter::Data64bitsDirective, DefaultDataSection, DefaultTextSection, llvm::AsmPrinter::doInitialization(), DW, llvm::AsmPrinter::EightByteConstantSection, llvm::AsmPrinter::FourByteConstantSection, llvm::AsmPrinter::GlobalPrefix, llvm::AsmPrinter::HasDotTypeDotSizeDirective, llvm::AsmPrinter::InlineAsmEnd, llvm::AsmPrinter::InlineAsmStart, llvm::X86Subtarget::isCygwin, llvm::X86Subtarget::isDarwin, llvm::X86Subtarget::isTargetDarwin(), llvm::X86Subtarget::isWindows, llvm::AsmPrinter::JumpTableDataSection, llvm::AsmPrinter::LCOMMDirective, M, llvm::AsmPrinter::PrivateGlobalPrefix, llvm::AsmPrinter::StaticCtorsSection, llvm::AsmPrinter::StaticDtorsSection, Subtarget, llvm::X86Subtarget::TargetType, and llvm::AsmPrinter::ZeroDirective.
Referenced by llvm::X86IntelAsmPrinter::doInitialization().
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.
Reimplemented in llvm::X86IntelAsmPrinter.
Definition at line 98 of file X86AsmPrinter.cpp.
References Align, llvm::AsmPrinter::AlignmentIsInBytes, llvm::GlobalValue::AppendingLinkage, C, llvm::AsmPrinter::COMMDirective, llvm::AsmPrinter::COMMDirectiveTakesAlignment, llvm::AsmPrinter::CommentString, DefaultDataSection, llvm::AsmPrinter::doFinalization(), DW, E, llvm::AsmPrinter::EmitAlignment(), llvm::AsmPrinter::EmitGlobalConstant(), llvm::AsmPrinter::EmitSpecialLLVMGlobal(), llvm::DwarfWriter::EndModule(), llvm::GlobalValue::ExternalLinkage, FnStubs, llvm::AsmPrinter::getPreferredAlignmentLog(), llvm::TargetMachine::getTargetData(), llvm::TargetData::getTypeSize(), llvm::Mangler::getValueName(), llvm::Module::global_begin(), llvm::Module::global_end(), GVStubs, llvm::AsmPrinter::HasDotTypeDotSizeDirective, llvm::GlobalValue::InternalLinkage, llvm::X86Subtarget::isCygwin, llvm::X86Subtarget::isTargetDarwin(), llvm::AsmPrinter::LCOMMDirective, llvm::GlobalValue::LinkOnceLinkage, M, llvm::AsmPrinter::Mang, name, llvm::AsmPrinter::O, Subtarget, llvm::AsmPrinter::SwitchToDataSection(), llvm::X86Subtarget::TargetType, TD, llvm::AsmPrinter::TM, and llvm::GlobalValue::WeakLinkage.
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(), llvm::X86Subtarget::isTargetDarwin(), llvm::AnalysisUsage::setPreservesAll(), and Subtarget.
static bool llvm::X86SharedAsmPrinter::isScale | ( | const MachineOperand & | MO | ) | [inline, static] |
Definition at line 80 of file X86AsmPrinter.h.
References llvm::MachineOperand::getImmedValue(), and llvm::MachineOperand::isImmediate().
Referenced by isMem().
static bool llvm::X86SharedAsmPrinter::isMem | ( | const MachineInstr * | MI, | |
unsigned | Op | |||
) | [inline, static] |
Definition at line 86 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().
Definition at line 55 of file X86AsmPrinter.h.
Referenced by doFinalization(), doInitialization(), and llvm::X86ATTAsmPrinter::runOnMachineFunction().
const char* llvm::X86SharedAsmPrinter::DefaultTextSection |
Definition at line 73 of file X86AsmPrinter.h.
Referenced by llvm::X86IntelAsmPrinter::doInitialization(), doInitialization(), and llvm::X86ATTAsmPrinter::runOnMachineFunction().
const char* llvm::X86SharedAsmPrinter::DefaultDataSection |
Definition at line 74 of file X86AsmPrinter.h.
Referenced by llvm::X86IntelAsmPrinter::doFinalization(), doFinalization(), llvm::X86IntelAsmPrinter::doInitialization(), and doInitialization().
Definition at line 75 of file X86AsmPrinter.h.
Referenced by doFinalization(), doInitialization(), getAnalysisUsage(), llvm::X86ATTAsmPrinter::printMachineInstruction(), llvm::X86ATTAsmPrinter::printOperand(), llvm::X86ATTAsmPrinter::runOnMachineFunction(), and X86SharedAsmPrinter().
std::set<std::string> llvm::X86SharedAsmPrinter::FnStubs |
Definition at line 78 of file X86AsmPrinter.h.
Referenced by doFinalization(), and llvm::X86ATTAsmPrinter::printOperand().
std::set<std::string> llvm::X86SharedAsmPrinter::GVStubs |
Definition at line 78 of file X86AsmPrinter.h.
Referenced by doFinalization(), and llvm::X86ATTAsmPrinter::printOperand().
std::set<std::string> llvm::X86SharedAsmPrinter::LinkOnceStubs |
Definition at line 78 of file X86AsmPrinter.h.