LLVM 22.0.0git
|
#include "ARMAsmPrinter.h"
#include "ARM.h"
#include "ARMConstantPoolValue.h"
#include "ARMMachineFunctionInfo.h"
#include "ARMTargetMachine.h"
#include "ARMTargetObjectFile.h"
#include "MCTargetDesc/ARMInstPrinter.h"
#include "MCTargetDesc/ARMMCAsmInfo.h"
#include "TargetInfo/ARMTargetInfo.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/BinaryFormat/COFF.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/Compiler.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 uint8_t | getModifierSpecifier (ARMCP::ARMCPModifier Modifier) |
INITIALIZE_PASS (ARMAsmPrinter, "arm-asm-printer", "ARM Assembly Printer", false, false) extern "C" LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeARMAsmPrinter() |
#define DEBUG_TYPE "asm-printer" |
Definition at line 50 of file ARMAsmPrinter.cpp.
|
static |
Definition at line 623 of file ARMAsmPrinter.cpp.
References llvm::any_of(), F, and llvm::parseDenormalFPAttribute().
|
static |
Definition at line 615 of file ARMAsmPrinter.cpp.
References llvm::any_of(), and F.
|
static |
Definition at line 525 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 831 of file ARMAsmPrinter.cpp.
Referenced by llvm::ARMAsmPrinter::emitInstruction().
|
static |
Definition at line 847 of file ARMAsmPrinter.cpp.
References llvm::ARMCP::GOT_PREL, llvm::ARMCP::GOTTPOFF, llvm_unreachable, llvm::ARMCP::no_modifier, llvm::ARM::S_COFF_SECREL, llvm::ARM::S_GOT_PREL, llvm::ARM::S_GOTTPOFF, llvm::ARM::S_None, llvm::ARM::S_SBREL, llvm::ARM::S_TLSGD, llvm::ARM::S_TPOFF, llvm::ARMCP::SBREL, llvm::ARMCP::SECREL, llvm::ARMCP::TLSGD, and llvm::ARMCP::TPOFF.
Referenced by llvm::ARMAsmPrinter::emitMachineConstantPoolValue(), and llvm::XtensaAsmPrinter::emitMachineConstantPoolValue().
|
static |
Definition at line 839 of file ARMAsmPrinter.cpp.
Referenced by llvm::ARMAsmPrinter::emitInstruction(), and llvm::ARMAsmPrinter::emitMachineConstantPoolValue().
INITIALIZE_PASS | ( | ARMAsmPrinter | , |
"arm-asm-printer" | , | ||
"ARM Assembly Printer" | , | ||
false | , | ||
false | ) |
Definition at line 2450 of file ARMAsmPrinter.cpp.
References A(), B(), llvm::getTheARMBETarget(), llvm::getTheARMLETarget(), llvm::getTheThumbBETarget(), llvm::getTheThumbLETarget(), LLVM_ABI, LLVM_EXTERNAL_VISIBILITY, X, and Y.
|
static |
Definition at line 488 of file ARMAsmPrinter.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::ARMSubtarget::ARMSubtarget(), 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(), OutlinerCosts::OutlinerCosts(), and llvm::ARMSubtarget::useFastISel().