LLVM API Documentation
#include <ARMAsmPrinter.h>
Public Member Functions | |
ARMAsmPrinter (TargetMachine &TM, MCStreamer &Streamer) | |
virtual const char * | getPassName () const LLVM_OVERRIDE |
void | printOperand (const MachineInstr *MI, int OpNum, raw_ostream &O, const char *Modifier=0) |
virtual bool | PrintAsmOperand (const MachineInstr *MI, unsigned OpNum, unsigned AsmVariant, const char *ExtraCode, raw_ostream &O) LLVM_OVERRIDE |
virtual bool | PrintAsmMemoryOperand (const MachineInstr *MI, unsigned OpNum, unsigned AsmVariant, const char *ExtraCode, raw_ostream &O) LLVM_OVERRIDE |
void | EmitJumpTable (const MachineInstr *MI) |
void | EmitJump2Table (const MachineInstr *MI) |
virtual void | EmitInstruction (const MachineInstr *MI) LLVM_OVERRIDE |
EmitInstruction - Targets should implement this to emit instructions. More... | |
virtual bool | runOnMachineFunction (MachineFunction &F) LLVM_OVERRIDE |
virtual void | EmitConstantPool () LLVM_OVERRIDE |
virtual void | EmitFunctionBodyEnd () LLVM_OVERRIDE |
virtual void | EmitFunctionEntryLabel () LLVM_OVERRIDE |
virtual void | EmitStartOfAsmFile (Module &M) LLVM_OVERRIDE |
virtual void | EmitEndOfAsmFile (Module &M) LLVM_OVERRIDE |
virtual void | EmitXXStructor (const Constant *CV) LLVM_OVERRIDE |
bool | lowerOperand (const MachineOperand &MO, MCOperand &MCOp) |
virtual void | EmitDwarfRegOp (const MachineLocation &MLoc, bool Indirect) const LLVM_OVERRIDE |
EmitDwarfRegOp - Emit dwarf register operation. More... | |
virtual unsigned | getISAEncoding () LLVM_OVERRIDE |
virtual void | EmitMachineConstantPoolValue (MachineConstantPoolValue *MCPV) LLVM_OVERRIDE |
![]() | |
virtual | ~AsmPrinter () |
const DwarfDebug * | getDwarfDebug () const |
bool | isVerbose () const |
unsigned | getFunctionNumber () const |
const TargetLoweringObjectFile & | getObjFileLowering () const |
getObjFileLowering - Return information about object file lowering. More... | |
const DataLayout & | getDataLayout () const |
getDataLayout - Return information about data layout. More... | |
StringRef | getTargetTriple () const |
getTargetTriple - Return the target triple string. More... | |
const MCSection * | getCurrentSection () const |
getCurrentSection() - Return the current section we are emitting to. More... | |
MCSymbol * | getSymbol (const GlobalValue *GV) const |
void | getAnalysisUsage (AnalysisUsage &AU) const |
bool | doInitialization (Module &M) |
bool | doFinalization (Module &M) |
void | SetupMachineFunction (MachineFunction &MF) |
void | EmitFunctionHeader () |
void | EmitFunctionBody () |
void | emitPrologLabel (const MachineInstr &MI) |
CFIMoveType | needsCFIMoves () |
bool | needsSEHMoves () |
bool | needsRelocationsForDwarfStringPool () const |
void | EmitJumpTableInfo () |
virtual void | EmitGlobalVariable (const GlobalVariable *GV) |
EmitGlobalVariable - Emit the specified global variable to the .s file. More... | |
bool | EmitSpecialLLVMGlobal (const GlobalVariable *GV) |
void | EmitAlignment (unsigned NumBits, const GlobalValue *GV=0) const |
void | EmitBasicBlockStart (const MachineBasicBlock *MBB) const |
void | EmitGlobalConstant (const Constant *CV) |
Print a general LLVM constant to the .s file. More... | |
virtual void | EmitFunctionBodyStart () |
virtual bool | isBlockOnlyReachableByFallthrough (const MachineBasicBlock *MBB) const |
virtual void | emitImplicitDef (const MachineInstr *MI) const |
MCSymbol * | GetTempSymbol (StringRef Name, unsigned ID) const |
MCSymbol * | GetTempSymbol (StringRef Name) const |
MCSymbol * | GetSymbolWithGlobalValueBase (const GlobalValue *GV, StringRef Suffix, bool ForcePrivate=true) const |
MCSymbol * | GetExternalSymbolSymbol (StringRef Sym) const |
MCSymbol * | GetCPISymbol (unsigned CPID) const |
GetCPISymbol - Return the symbol for the specified constant pool entry. More... | |
MCSymbol * | GetJTISymbol (unsigned JTID, bool isLinkerPrivate=false) const |
GetJTISymbol - Return the symbol for the specified jump table entry. More... | |
MCSymbol * | GetJTSetSymbol (unsigned UID, unsigned MBBID) const |
MCSymbol * | GetBlockAddressSymbol (const BlockAddress *BA) const |
MCSymbol * | GetBlockAddressSymbol (const BasicBlock *BB) const |
void | printOffset (int64_t Offset, raw_ostream &OS) const |
printOffset - This is just convenient handler for printing offsets. More... | |
void | EmitInt8 (int Value) const |
void | EmitInt16 (int Value) const |
void | EmitInt32 (int Value) const |
void | EmitLabelDifference (const MCSymbol *Hi, const MCSymbol *Lo, unsigned Size) const |
void | EmitLabelOffsetDifference (const MCSymbol *Hi, uint64_t Offset, const MCSymbol *Lo, unsigned Size) const |
void | EmitLabelPlusOffset (const MCSymbol *Label, uint64_t Offset, unsigned Size, bool IsSectionRelative=false) const |
void | EmitLabelReference (const MCSymbol *Label, unsigned Size, bool IsSectionRelative=false) const |
void | EmitSLEB128 (int64_t Value, const char *Desc=0) const |
EmitSLEB128 - emit the specified signed leb128 value. More... | |
void | EmitULEB128 (uint64_t Value, const char *Desc=0, unsigned PadTo=0) const |
EmitULEB128 - emit the specified unsigned leb128 value. More... | |
void | EmitCFAByte (unsigned Val) const |
EmitCFAByte - Emit a .byte 42 directive for a DW_CFA_xxx value. More... | |
void | EmitEncodingByte (unsigned Val, const char *Desc=0) const |
unsigned | GetSizeOfEncodedValue (unsigned Encoding) const |
GetSizeOfEncodedValue - Return the size of the encoding in bytes. More... | |
void | EmitTTypeReference (const GlobalValue *GV, unsigned Encoding) const |
EmitReference - Emit reference to a ttype global with a specified encoding. More... | |
void | EmitSectionOffset (const MCSymbol *Label, const MCSymbol *SectionLabel) const |
void | emitCFIInstruction (const MCCFIInstruction &Inst) const |
Emit frame instruction to describe the layout of the frame. More... | |
virtual void | PrintSpecial (const MachineInstr *MI, raw_ostream &OS, const char *Code) const |
![]() | |
FunctionPass (char &pid) | |
Pass * | createPrinterPass (raw_ostream &O, const std::string &Banner) const |
createPrinterPass - Get a function printer pass. More... | |
virtual void | assignPassManager (PMStack &PMS, PassManagerType T) |
virtual PassManagerType | getPotentialPassManagerType () const |
Return what kind of Pass Manager can manage this pass. More... | |
![]() | |
Pass (PassKind K, char &pid) | |
virtual | ~Pass () |
PassKind | getPassKind () const |
AnalysisID | getPassID () const |
getPassID - Return the PassID number that corresponds to this pass. More... | |
virtual void | print (raw_ostream &O, const Module *M) const |
void | dump () const |
virtual void | preparePassManager (PMStack &) |
Check if available pass managers are suitable for this pass or not. More... | |
void | setResolver (AnalysisResolver *AR) |
AnalysisResolver * | getResolver () const |
virtual void | releaseMemory () |
virtual void * | getAdjustedAnalysisPointer (AnalysisID ID) |
virtual ImmutablePass * | getAsImmutablePass () |
virtual PMDataManager * | getAsPMDataManager () |
virtual void | verifyAnalysis () const |
virtual void | dumpPassStructure (unsigned Offset=0) |
template<typename AnalysisType > | |
AnalysisType * | getAnalysisIfAvailable () const |
bool | mustPreserveAnalysisID (char &AID) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis () const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis (Function &F) |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI, Function &F) |
Additional Inherited Members | |
![]() | |
enum | CFIMoveType { CFI_M_None, CFI_M_EH, CFI_M_Debug } |
![]() | |
static const PassInfo * | lookupPassInfo (const void *TI) |
static const PassInfo * | lookupPassInfo (StringRef Arg) |
static Pass * | createPass (AnalysisID ID) |
![]() | |
TargetMachine & | TM |
const MCAsmInfo * | MAI |
const MCInstrInfo * | MII |
MCContext & | OutContext |
MCStreamer & | OutStreamer |
const MachineFunction * | MF |
The current machine function. More... | |
MachineModuleInfo * | MMI |
MMI - This is a pointer to the current MachineModuleInfo. More... | |
Mangler * | Mang |
MCSymbol * | CurrentFnSym |
MCSymbol * | CurrentFnSymForSize |
![]() | |
AsmPrinter (TargetMachine &TM, MCStreamer &Streamer) | |
![]() | |
MachineFunctionPass (char &ID) | |
Definition at line 29 of file ARMAsmPrinter.h.
|
inlineexplicit |
Definition at line 47 of file ARMAsmPrinter.h.
References llvm::TargetMachine::getSubtarget().
|
inlinevirtual |
EmitConstantPool - Print to the current output stream assembly representations of the constants in the constant pool MCP. This is used to print out constants which have been "spilled to memory" by the code generator.
Reimplemented from llvm::AsmPrinter.
Definition at line 71 of file ARMAsmPrinter.h.
|
virtual |
EmitDwarfRegOp - Emit dwarf register operation.
Reimplemented from llvm::AsmPrinter.
Definition at line 60 of file ARMAsmPrinter.cpp.
References llvm::MCStreamer::AddComment(), llvm::dwarf::DW_OP_bit_piece, llvm::dwarf::DW_OP_piece, llvm::dwarf::DW_OP_regx, llvm::AsmPrinter::EmitDwarfRegOp(), llvm::AsmPrinter::EmitInt8(), llvm::AsmPrinter::EmitULEB128(), llvm::MCRegisterInfo::getDwarfRegNum(), llvm::MachineLocation::getReg(), llvm::TargetMachine::getRegisterInfo(), llvm::MachineLocation::isReg(), llvm::AsmPrinter::OutStreamer, and llvm::AsmPrinter::TM.
|
virtual |
EmitEndOfAsmFile - This virtual method can be overridden by targets that want to emit something at the end of their file.
Reimplemented from llvm::AsmPrinter.
Definition at line 511 of file ARMAsmPrinter.cpp.
References llvm::MCStreamer::AddBlankLine(), llvm::MCSymbolRefExpr::Create(), llvm::AsmPrinter::EmitAlignment(), llvm::MCStreamer::EmitAssemblerFlag(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitSymbolAttribute(), llvm::MCStreamer::EmitValue(), llvm::MachineModuleInfoMachO::GetGVStubList(), llvm::MachineModuleInfoMachO::GetHiddenGVStubList(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getInt(), llvm::MCObjectFileInfo::getNonLazySymbolPointerSection(), llvm::MachineModuleInfo::getObjFileInfo(), llvm::AsmPrinter::getObjFileLowering(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(), llvm::ARMSubtarget::isTargetDarwin(), llvm::MCAF_SubsectionsViaSymbols, llvm::MCSA_IndirectSymbol, llvm::AsmPrinter::MMI, llvm::AsmPrinter::OutContext, llvm::AsmPrinter::OutStreamer, and llvm::MCStreamer::SwitchSection().
|
virtual |
EmitFunctionBodyEnd - Targets can override this to emit stuff after the last basic block in the function.
Reimplemented from llvm::AsmPrinter.
Definition at line 123 of file ARMAsmPrinter.cpp.
References llvm::MCStreamer::EmitDataRegion(), llvm::MCDR_DataRegionEnd, and llvm::AsmPrinter::OutStreamer.
|
virtual |
EmitFunctionEntryLabel - Emit the label that is the entrypoint for the function. This can be overridden by targets as required to do custom stuff.
Reimplemented from llvm::AsmPrinter.
Definition at line 132 of file ARMAsmPrinter.cpp.
References llvm::AsmPrinter::CurrentFnSym, llvm::MCStreamer::EmitAssemblerFlag(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitThumbFunc(), llvm::ARMFunctionInfo::isThumbFunction(), llvm::MCAF_Code16, and llvm::AsmPrinter::OutStreamer.
|
virtual |
EmitInstruction - Targets should implement this to emit instructions.
CONSTPOOL_ENTRY - This instruction represents a floating constant pool in the function. The first operand is the ID# for this instruction, the second is the index into the MachineConstantPool that this is, the third is the size in bytes of this constant pool entry. The required alignment is specified on the basic block holding this MI.
Reimplemented from llvm::AsmPrinter.
Definition at line 1108 of file ARMAsmPrinter.cpp.
References llvm::MCStreamer::AddComment(), llvm::MCInstBuilder::addImm(), llvm::MCInst::addOperand(), llvm::MCInstBuilder::addReg(), llvm::ARMCC::AL, llvm::MachineConstantPoolEntry::ConstVal, llvm::convertAddSubFlagsOpcode(), llvm::MCConstantExpr::Create(), llvm::MCSymbolRefExpr::Create(), llvm::MCBinaryExpr::CreateAdd(), llvm::MCOperand::CreateExpr(), llvm::MCOperand::CreateImm(), llvm::ARMMCExpr::CreateLower16(), llvm::MCOperand::CreateReg(), llvm::MCBinaryExpr::CreateSub(), llvm::ARMMCExpr::CreateUpper16(), llvm::TargetOpcode::DBG_VALUE, llvm::AsmPrinter::EmitAlignment(), llvm::MCStreamer::EmitDataRegion(), llvm::AsmPrinter::EmitGlobalConstant(), llvm::MCStreamer::EmitInstruction(), llvm::MCStreamer::EmitIntValue(), EmitJump2Table(), EmitJumpTable(), llvm::MCStreamer::EmitLabel(), EmitMachineConstantPoolValue(), EnableARMEHABI, llvm::MachineInstr::FrameSetup, llvm::MachineConstantPool::getConstants(), llvm::AsmPrinter::GetCPISymbol(), llvm::MachineInstr::getFlag(), llvm::AsmPrinter::getFunctionNumber(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), getPICLabel(), llvm::MCAsmInfo::getPrivateGlobalPrefix(), llvm::MachineOperand::getReg(), llvm::AsmPrinter::getSymbol(), llvm::MachineOperand::getTargetFlags(), llvm::MachineConstantPoolEntry::isMachineConstantPoolEntry(), llvm::ARMSubtarget::isTargetDarwin(), llvm_unreachable, llvm::LowerARMMachineInstrToMCInst(), llvm::MachineConstantPoolEntry::MachineCPVal, llvm::AsmPrinter::MAI, llvm::MCDR_DataRegion, llvm::MCDR_DataRegionEnd, llvm::ARMII::MO_HI16_NONLAZY_PIC, llvm::ARMII::MO_LO16_NONLAZY_PIC, llvm::AsmPrinter::OutContext, llvm::AsmPrinter::OutStreamer, llvm::MCInst::setOpcode(), llvm::ISD::TRAP, and llvm::MachineConstantPoolEntry::Val.
void ARMAsmPrinter::EmitJump2Table | ( | const MachineInstr * | MI | ) |
Definition at line 904 of file ARMAsmPrinter.cpp.
References llvm::ARMCC::AL, llvm::MCConstantExpr::Create(), llvm::MCSymbolRefExpr::Create(), llvm::MCBinaryExpr::CreateDiv(), llvm::MCBinaryExpr::CreateSub(), llvm::MCStreamer::EmitDataRegion(), llvm::MCStreamer::EmitInstruction(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitValue(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineFunction::getJumpTableInfo(), llvm::MachineJumpTableInfo::getJumpTables(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getSymbol(), llvm::MCDR_DataRegionEnd, llvm::MCDR_DataRegionJT16, llvm::MCDR_DataRegionJT8, llvm::AsmPrinter::MF, llvm::AsmPrinter::OutContext, and llvm::AsmPrinter::OutStreamer.
Referenced by EmitInstruction().
void ARMAsmPrinter::EmitJumpTable | ( | const MachineInstr * | MI | ) |
Definition at line 853 of file ARMAsmPrinter.cpp.
References llvm::MCConstantExpr::Create(), llvm::MCSymbolRefExpr::Create(), llvm::MCBinaryExpr::CreateAdd(), llvm::MCBinaryExpr::CreateSub(), llvm::MCStreamer::EmitDataRegion(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitValue(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineFunction::getJumpTableInfo(), llvm::MachineJumpTableInfo::getJumpTables(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::TargetMachine::getRelocationModel(), llvm::MachineBasicBlock::getSymbol(), llvm::ARMFunctionInfo::isThumbFunction(), llvm::MCDR_DataRegionEnd, llvm::MCDR_DataRegionJT32, llvm::AsmPrinter::MF, llvm::AsmPrinter::OutContext, llvm::AsmPrinter::OutStreamer, llvm::Reloc::PIC_, and llvm::AsmPrinter::TM.
Referenced by EmitInstruction().
|
virtual |
EmitMachineConstantPoolValue - Print a machine constantpool value to the .s file.
Reimplemented from llvm::AsmPrinter.
Definition at line 797 of file ARMAsmPrinter.cpp.
References llvm::MCConstantExpr::Create(), llvm::MCSymbolRefExpr::Create(), llvm::MCBinaryExpr::CreateAdd(), llvm::MCBinaryExpr::CreateSub(), llvm::MCContext::CreateTempSymbol(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitValue(), llvm::AsmPrinter::GetBlockAddressSymbol(), llvm::TargetMachine::getDataLayout(), llvm::AsmPrinter::GetExternalSymbolSymbol(), llvm::AsmPrinter::getFunctionNumber(), llvm::ARMConstantPoolValue::getLabelId(), llvm::ARMConstantPoolValue::getModifier(), getModifierVariantKind(), llvm::MCContext::GetOrCreateSymbol(), llvm::ARMConstantPoolValue::getPCAdjustment(), getPICLabel(), llvm::MCAsmInfo::getPrivateGlobalPrefix(), llvm::AsmPrinter::getSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::MachineConstantPoolValue::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::ARMConstantPoolValue::isBlockAddress(), llvm::ARMConstantPoolValue::isExtSymbol(), llvm::ARMConstantPoolValue::isGlobalValue(), llvm::ARMConstantPoolValue::isLSDA(), llvm::ARMConstantPoolValue::isMachineBasicBlock(), llvm::AsmPrinter::MAI, llvm::ARMConstantPoolValue::mustAddCurrentAddress(), llvm::AsmPrinter::OutContext, llvm::AsmPrinter::OutStreamer, llvm::raw_svector_ostream::str(), and llvm::AsmPrinter::TM.
Referenced by EmitInstruction().
|
virtual |
EmitStartOfAsmFile - This virtual method can be overridden by targets that want to emit something at the start of their file.
Reimplemented from llvm::AsmPrinter.
Definition at line 449 of file ARMAsmPrinter.cpp.
References llvm::Module::begin(), llvm::Reloc::DynamicNoPIC, llvm::MCStreamer::EmitAssemblerFlag(), llvm::Module::end(), F(), llvm::MCObjectFileInfo::getConstTextCoalSection(), llvm::MCContext::getMachOSection(), llvm::AsmPrinter::getObjFileLowering(), llvm::TargetMachine::getRelocationModel(), llvm::SectionKind::getText(), llvm::MCObjectFileInfo::getTextCoalSection(), llvm::MCObjectFileInfo::getTextSection(), llvm::SetVector< T, Vector, Set >::insert(), llvm::ARMSubtarget::isTargetDarwin(), llvm::ARMSubtarget::isTargetELF(), llvm::AsmPrinter::Mang, llvm::MCAF_SyntaxUnified, llvm::AsmPrinter::OutContext, llvm::AsmPrinter::OutStreamer, llvm::Reloc::PIC_, llvm::MachO::S_REGULAR, llvm::MachO::S_SYMBOL_STUBS, llvm::TargetLoweringObjectFile::SectionForGlobal(), llvm::SetVector< T, Vector, Set >::size(), llvm::MCStreamer::SwitchSection(), and llvm::AsmPrinter::TM.
|
virtual |
EmitXXStructor - Targets can override this to change how global constants that are part of a C++ static/global constructor list are emitted.
Reimplemented from llvm::AsmPrinter.
Definition at line 141 of file ARMAsmPrinter.cpp.
References llvm::MCSymbolRefExpr::Create(), llvm::dyn_cast(), llvm::MCStreamer::EmitValue(), llvm::TargetMachine::getDataLayout(), llvm::AsmPrinter::getSymbol(), llvm::Value::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::ARMSubtarget::isTargetDarwin(), llvm::AsmPrinter::OutContext, llvm::AsmPrinter::OutStreamer, llvm::Value::stripPointerCasts(), llvm::AsmPrinter::TM, llvm::MCSymbolRefExpr::VK_ARM_TARGET1, and llvm::MCSymbolRefExpr::VK_None.
|
inlinevirtual |
getISAEncoding - Get the value for DW_AT_APPLE_isa. Zero if no isa encoding specified.
Reimplemented from llvm::AsmPrinter.
Definition at line 104 of file ARMAsmPrinter.h.
References llvm::ARM::DW_ISA_ARM_arm, and llvm::ARM::DW_ISA_ARM_thumb.
|
inlinevirtual |
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.
Reimplemented from llvm::Pass.
Definition at line 52 of file ARMAsmPrinter.h.
bool ARMAsmPrinter::lowerOperand | ( | const MachineOperand & | MO, |
MCOperand & | MCOp | ||
) |
Definition at line 66 of file ARMMCInstLower.cpp.
References llvm::APFloat::convert(), llvm::APFloat::convertToDouble(), llvm::MCSymbolRefExpr::Create(), llvm::MCOperand::CreateExpr(), llvm::MCOperand::CreateFPImm(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), llvm::MachineOperand::getBlockAddress(), llvm::AsmPrinter::GetBlockAddressSymbol(), llvm::AsmPrinter::GetCPISymbol(), llvm::AsmPrinter::GetExternalSymbolSymbol(), llvm::MachineOperand::getFPImm(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::MachineOperand::getMBB(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getSubReg(), llvm::AsmPrinter::getSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::getType(), llvm::ConstantFP::getValueAPF(), llvm::APFloat::IEEEdouble, llvm::MachineOperand::isImplicit(), llvm_unreachable, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_FPImmediate, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, llvm::MachineOperand::MO_RegisterMask, llvm::AsmPrinter::OutContext, and llvm::APFloat::rmTowardZero.
Referenced by llvm::LowerARMMachineInstrToMCInst().
|
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 424 of file ARMAsmPrinter.cpp.
References llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::ARMInstPrinter::getRegisterName(), and llvm::MachineOperand::isReg().
|
virtual |
PrintAsmOperand - Print the specified operand of MI, an INLINEASM instruction, using the specified assembler variant. Targets should override this to format as appropriate. This method can return true if the operand is erroneous.
PrintAsmOperand - Print the specified operand of MI, an INLINEASM instruction, using the specified assembler variant. Targets should override this to format as appropriate.
Reimplemented from llvm::AsmPrinter.
Definition at line 249 of file ARMAsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::InlineAsm::getNumOperandRegisters(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::TargetMachine::getRegisterInfo(), llvm::ARMInstPrinter::getRegisterName(), llvm::MCRegisterInfo::getSubReg(), llvm::MachineFunction::getTarget(), llvm::InlineAsm::hasRegClassConstraint(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isReg(), llvm::InlineAsm::isUseOperandTiedToDef(), llvm::MCRegisterInfo::DiffListIterator::isValid(), llvm::AsmPrinter::MF, llvm::AsmPrinter::PrintAsmOperand(), and printOperand().
void ARMAsmPrinter::printOperand | ( | const MachineInstr * | MI, |
int | OpNum, | ||
raw_ostream & | O, | ||
const char * | Modifier = 0 |
||
) |
Definition at line 167 of file ARMAsmPrinter.cpp.
References llvm::AsmPrinter::GetCPISymbol(), llvm::AsmPrinter::GetExternalSymbolSymbol(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::MachineOperand::getMBB(), llvm::MachineOperand::getOffset(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::TargetMachine::getRegisterInfo(), llvm::ARMInstPrinter::getRegisterName(), llvm::MachineOperand::getSubReg(), llvm::MCRegisterInfo::getSubReg(), llvm::AsmPrinter::getSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::MachineOperand::getSymbolName(), llvm::MachineFunction::getTarget(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::getType(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm_unreachable, llvm::AsmPrinter::MF, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_GlobalAddress, llvm::ARMII::MO_HI16, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::ARMII::MO_LO16, llvm::MachineOperand::MO_MachineBasicBlock, llvm::ARMII::MO_PLT, llvm::MachineOperand::MO_Register, llvm::AsmPrinter::printOffset(), and llvm::LibFunc::strcmp.
Referenced by PrintAsmOperand().
|
virtual |
runOnMachineFunction - This uses the EmitInstruction() method to print assembly for each instruction.
Reimplemented from llvm::AsmPrinter.
Definition at line 160 of file ARMAsmPrinter.cpp.
References llvm::MachineFunction::getConstantPool(), llvm::MachineFunction::getInfo(), and llvm::AsmPrinter::runOnMachineFunction().