LLVM
8.0.1
|
#include "ARMAsmPrinter.h"
#include "ARM.h"
#include "ARMConstantPoolValue.h"
#include "ARMMachineFunctionInfo.h"
#include "ARMTargetMachine.h"
#include "ARMTargetObjectFile.h"
#include "InstPrinter/ARMInstPrinter.h"
#include "MCTargetDesc/ARMAddressingModes.h"
#include "MCTargetDesc/ARMMCExpr.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/MachineModuleInfoImpls.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Mangler.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCAssembler.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCELFStreamer.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstBuilder.h"
#include "llvm/MC/MCObjectStreamer.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/ARMBuildAttributes.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/TargetParser.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
#include "ARMGenMCPseudoLowering.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "asm-printer" |
Functions | |
static bool | isThumb (const MCSubtargetInfo &STI) |
static void | emitNonLazySymbolPointer (MCStreamer &OutStreamer, MCSymbol *StubLabel, MachineModuleInfoImpl::StubValueTy &MCSym) |
static bool | checkFunctionsAttributeConsistency (const Module &M, StringRef Attr, StringRef Value) |
static MCSymbol * | getPICLabel (StringRef Prefix, unsigned FunctionNumber, unsigned LabelId, MCContext &Ctx) |
static MCSymbolRefExpr::VariantKind | getModifierVariantKind (ARMCP::ARMCPModifier Modifier) |
void | LLVMInitializeARMAsmPrinter () |
#define DEBUG_TYPE "asm-printer" |
Definition at line 53 of file ARMAsmPrinter.cpp.
|
static |
Definition at line 592 of file ARMAsmPrinter.cpp.
References llvm::ARMBuildAttrs::ABI_align_needed, llvm::ARMBuildAttrs::ABI_align_preserved, llvm::ARMBuildAttrs::ABI_enum_size, llvm::ARMBuildAttrs::ABI_FP_16bit_format, llvm::ARMBuildAttrs::ABI_FP_denormal, llvm::ARMBuildAttrs::ABI_FP_exceptions, llvm::ARMBuildAttrs::ABI_FP_number_model, llvm::ARMBuildAttrs::ABI_FP_rounding, llvm::ARMBuildAttrs::ABI_PCS_GOT_use, llvm::ARMBuildAttrs::ABI_PCS_R9_use, llvm::ARMBuildAttrs::ABI_PCS_RO_data, llvm::ARMBuildAttrs::ABI_PCS_RW_data, llvm::ARMBuildAttrs::ABI_PCS_wchar_t, llvm::ARMBuildAttrs::ABI_VFP_args, llvm::ARMBuildAttrs::AddressDirect, llvm::ARMBuildAttrs::AddressGOT, llvm::ARMBuildAttrs::AddressROPCRel, llvm::ARMBuildAttrs::AddressRWPCRel, llvm::ARMBuildAttrs::AddressRWSBRel, llvm::ARMBuildAttrs::Allowed, llvm::ARMBuildAttrs::AllowIEEE754, llvm::any_of(), assert(), llvm::ARMBuildAttrs::conformance, llvm::ARMTargetStreamer::emitAttribute(), llvm::ARMTargetStreamer::emitTargetAttributes(), llvm::ARMTargetStreamer::emitTextAttribute(), llvm::StringRef::empty(), F(), llvm::TargetOptions::FloatABIType, llvm::ARMBuildAttrs::FP16FormatIEEE, llvm::TargetOptions::FPDenormalMode, llvm::Function::getFnAttribute(), llvm::MachineModuleInfo::getModule(), llvm::TargetMachine::getTargetCPU(), llvm::TargetMachine::getTargetFeatureString(), llvm::TargetMachine::getTargetTriple(), llvm::Attribute::getValueAsString(), llvm::FloatABI::Hard, llvm::ARMBuildAttrs::HardFPAAPCS, llvm::TargetOptions::HonorSignDependentRoundingFPMathOption, llvm::ARMBuildAttrs::IEEEDenormals, llvm::ARMBaseTargetMachine::isLittleEndian(), llvm::AsmPrinter::isPositionIndependent(), llvm::AsmPrinter::MMI, llvm::TargetOptions::NoInfsFPMath, llvm::TargetOptions::NoNaNsFPMath, llvm::ARMBuildAttrs::Not_Allowed, llvm::TargetOptions::NoTrappingFPMath, llvm::TargetMachine::Options, llvm::AsmPrinter::OutStreamer, llvm::ARM_MC::ParseARMTriple(), llvm::FPDenormal::PositiveZero, llvm::ARMBuildAttrs::PositiveZero, llvm::ARMBuildAttrs::PreserveFPSign, llvm::FPDenormal::PreserveSign, llvm::ARMBuildAttrs::R9IsGPR, llvm::ARMBuildAttrs::R9IsSB, llvm::ARMBuildAttrs::R9Reserved, llvm::ARMTargetStreamer::switchVendor(), llvm::AsmPrinter::TM, and llvm::TargetOptions::UnsafeFPMath.
|
static |
Definition at line 502 of file ARMAsmPrinter.cpp.
References llvm::MCSymbolRefExpr::create(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitSymbolAttribute(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::getContext(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getInt(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getPointer(), and llvm::MCSA_IndirectSymbol.
Referenced by llvm::ARMAsmPrinter::EmitEndOfAsmFile().
|
static |
Definition at line 785 of file ARMAsmPrinter.cpp.
References assert(), llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(), llvm::MachineModuleInfoMachO::getGVStubEntry(), llvm::MachineModuleInfoCOFF::getGVStubEntry(), llvm::AsmPrinter::getNameWithPrefix(), llvm::MachineModuleInfo::getObjFileInfo(), llvm::MCContext::getOrCreateSymbol(), llvm::AsmPrinter::getSymbol(), llvm::AsmPrinter::getSymbolWithGlobalValueBase(), llvm::MachineModuleInfoMachO::getThreadLocalGVStubEntry(), llvm::ARMCP::GOT_PREL, llvm::ARMCP::GOTTPOFF, llvm::GlobalValue::hasInternalLinkage(), llvm::ARMSubtarget::isGVIndirectSymbol(), llvm::ARMSubtarget::isTargetCOFF(), llvm::ARMSubtarget::isTargetELF(), llvm::ARMSubtarget::isTargetMachO(), llvm::ARMSubtarget::isTargetWindows(), llvm::GlobalValue::isThreadLocal(), llvm_unreachable, llvm::AsmPrinter::MMI, llvm::ARMII::MO_COFFSTUB, llvm::ARMII::MO_DLLIMPORT, llvm::ARMII::MO_NONLAZY, Name, llvm::ARMCP::no_modifier, llvm::AsmPrinter::OutContext, llvm::ARMCP::SBREL, llvm::ARMCP::SECREL, llvm::ARMCP::TLSGD, llvm::ARMCP::TPOFF, llvm::MCSymbolRefExpr::VK_ARM_GOT_PREL, llvm::MCSymbolRefExpr::VK_ARM_SBREL, llvm::MCSymbolRefExpr::VK_GOTTPOFF, llvm::MCSymbolRefExpr::VK_None, llvm::MCSymbolRefExpr::VK_SECREL, llvm::MCSymbolRefExpr::VK_TLSGD, and llvm::MCSymbolRefExpr::VK_TPOFF.
Referenced by llvm::ARMAsmPrinter::EmitMachineConstantPoolValue().
|
static |
Definition at line 776 of file ARMAsmPrinter.cpp.
References llvm::MCContext::getOrCreateSymbol().
Referenced by llvm::ARMAsmPrinter::EmitInstruction(), and llvm::ARMAsmPrinter::EmitMachineConstantPoolValue().
|
static |
Definition at line 471 of file ARMAsmPrinter.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by llvm::computeBlockSize(), doesIgnoreDataTypeSuffix(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::ARMAsmPrinter::emitInlineAsmEnd(), getCOFFSectionFlags(), getContiguousRangeOfSetBits(), llvm::ARMAsmPrinter::getISAEncoding(), getRealVLDOpcode(), HasConditionalBranch(), llvm::ARMBaseInstrInfo::insertBranch(), instIsBreakpoint(), llvm::IsCPSRDead< MCInst >(), llvm::ARMCallLowering::lowerCall(), llvm::ARMTargetLowering::ReplaceNodeResults(), selectUnmergeValues(), and llvm::ARMAsmBackend::writeNopData().
void LLVMInitializeARMAsmPrinter | ( | ) |
Definition at line 2080 of file ARMAsmPrinter.cpp.
References A, B, llvm::getTheARMBETarget(), llvm::getTheARMLETarget(), llvm::getTheThumbBETarget(), llvm::getTheThumbLETarget(), X, and Y.