LLVM 20.0.0git
|
#include "ARMAsmPrinter.h"
#include "ARM.h"
#include "ARMConstantPoolValue.h"
#include "ARMMachineFunctionInfo.h"
#include "ARMTargetMachine.h"
#include "ARMTargetObjectFile.h"
#include "MCTargetDesc/ARMAddressingModes.h"
#include "MCTargetDesc/ARMInstPrinter.h"
#include "MCTargetDesc/ARMMCExpr.h"
#include "TargetInfo/ARMTargetInfo.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/MC/TargetRegistry.h"
#include "llvm/Support/ARMBuildAttributes.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.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 bool | checkDenormalAttributeConsistency (const Module &M, StringRef Attr, DenormalMode Value) |
static MCSymbol * | getBFLabel (StringRef Prefix, unsigned FunctionNumber, unsigned LabelId, MCContext &Ctx) |
static MCSymbol * | getPICLabel (StringRef Prefix, unsigned FunctionNumber, unsigned LabelId, MCContext &Ctx) |
static MCSymbolRefExpr::VariantKind | getModifierVariantKind (ARMCP::ARMCPModifier Modifier) |
LLVM_EXTERNAL_VISIBILITY void | LLVMInitializeARMAsmPrinter () |
#define DEBUG_TYPE "asm-printer" |
Definition at line 51 of file ARMAsmPrinter.cpp.
|
static |
Definition at line 614 of file ARMAsmPrinter.cpp.
References llvm::any_of(), F, and llvm::parseDenormalFPAttribute().
|
static |
Definition at line 606 of file ARMAsmPrinter.cpp.
References llvm::any_of(), and F.
|
static |
Definition at line 516 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(), and emitNonLazyStubs().
|
static |
Definition at line 822 of file ARMAsmPrinter.cpp.
References llvm::MCContext::getOrCreateSymbol().
Referenced by llvm::ARMAsmPrinter::emitInstruction().
|
static |
Definition at line 839 of file ARMAsmPrinter.cpp.
References llvm::ARMCP::GOT_PREL, llvm::ARMCP::GOTTPOFF, llvm_unreachable, llvm::ARMCP::no_modifier, 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(), llvm::CSKYAsmPrinter::emitMachineConstantPoolValue(), llvm::SystemZAsmPrinter::emitMachineConstantPoolValue(), and llvm::XtensaAsmPrinter::emitMachineConstantPoolValue().
|
static |
Definition at line 830 of file ARMAsmPrinter.cpp.
References llvm::MCContext::getOrCreateSymbol().
Referenced by llvm::ARMAsmPrinter::emitInstruction(), and llvm::ARMAsmPrinter::emitMachineConstantPoolValue().
|
static |
Definition at line 485 of file ARMAsmPrinter.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::CodeViewDebug::beginFunctionImpl(), llvm::ARMBaseInstrInfo::buildOutlinedFrame(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::ARMAsmPrinter::emitInlineAsmEnd(), llvm::CodeViewDebug::endFunctionImpl(), forEachJumpTableBranch(), getCOFFSectionFlags(), llvm::ARMSubtarget::getFramePointerReg(), llvm::ARMAsmPrinter::getISAEncoding(), llvm::RuntimeDyldCOFFThumb::getJITSymbolFlags(), llvm::ARMSubtarget::getReturnOpcode(), llvm::ARMSubtarget::hasAnyDataBarrier(), llvm::ARMSubtarget::hasBaseDSP(), llvm::ARMBaseInstrInfo::insertBranch(), llvm::ARMBaseInstrInfo::insertOutlinedCall(), llvm::ARMSubtarget::isThumb1Only(), llvm::ARMSubtarget::isThumb2(), and llvm::ARMSubtarget::useFastISel().
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeARMAsmPrinter | ( | ) |
Definition at line 2433 of file ARMAsmPrinter.cpp.
References A, B, llvm::getTheARMBETarget(), llvm::getTheARMLETarget(), llvm::getTheThumbBETarget(), llvm::getTheThumbLETarget(), X, and Y.