LLVM API Documentation
#include "ARMAsmPrinter.h"
#include "ARM.h"
#include "ARMConstantPoolValue.h"
#include "ARMFPUName.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/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/DebugInfo.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/MCSectionMachO.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/ARMBuildAttributes.h"
#include "llvm/Support/COFF.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ELF.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
#include <cctype>
#include "ARMGenMCPseudoLowering.inc"
Go to the source code of this file.
Defines | |
#define | DEBUG_TYPE "asm-printer" |
Functions | |
static bool | isThumb (const MCSubtargetInfo &STI) |
static void | emitNonLazySymbolPointer (MCStreamer &OutStreamer, MCSymbol *StubLabel, MachineModuleInfoImpl::StubValueTy &MCSym) |
static ARMBuildAttrs::CPUArch | getArchForCPU (StringRef CPU, const ARMSubtarget *Subtarget) |
static MCSymbol * | getPICLabel (const char *Prefix, unsigned FunctionNumber, unsigned LabelId, MCContext &Ctx) |
static MCSymbolRefExpr::VariantKind | getModifierVariantKind (ARMCP::ARMCPModifier Modifier) |
void | LLVMInitializeARMAsmPrinter () |
#define DEBUG_TYPE "asm-printer" |
Definition at line 58 of file ARMAsmPrinter.cpp.
static void emitNonLazySymbolPointer | ( | MCStreamer & | OutStreamer, |
MCSymbol * | StubLabel, | ||
MachineModuleInfoImpl::StubValueTy & | MCSym | ||
) | [static] |
Definition at line 488 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 >::getInt(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(), and llvm::MCSA_IndirectSymbol.
Referenced by llvm::ARMAsmPrinter::EmitEndOfAsmFile().
static ARMBuildAttrs::CPUArch getArchForCPU | ( | StringRef | CPU, |
const ARMSubtarget * | Subtarget | ||
) | [static] |
Definition at line 584 of file ARMAsmPrinter.cpp.
References llvm::ARMSubtarget::hasThumb2DSP(), llvm::ARMSubtarget::hasV4TOps(), llvm::ARMSubtarget::hasV5TEOps(), llvm::ARMSubtarget::hasV5TOps(), llvm::ARMSubtarget::hasV6MOps(), llvm::ARMSubtarget::hasV6Ops(), llvm::ARMSubtarget::hasV6T2Ops(), llvm::ARMSubtarget::hasV7Ops(), llvm::ARMSubtarget::hasV8Ops(), llvm::ARMSubtarget::isMClass(), llvm::ARMBuildAttrs::v4, llvm::ARMBuildAttrs::v4T, llvm::ARMBuildAttrs::v5T, llvm::ARMBuildAttrs::v5TE, llvm::ARMBuildAttrs::v5TEJ, llvm::ARMBuildAttrs::v6, llvm::ARMBuildAttrs::v6S_M, llvm::ARMBuildAttrs::v6T2, llvm::ARMBuildAttrs::v7, llvm::ARMBuildAttrs::v7E_M, and llvm::ARMBuildAttrs::v8.
static MCSymbolRefExpr::VariantKind getModifierVariantKind | ( | ARMCP::ARMCPModifier | Modifier | ) | [static] |
Definition at line 799 of file ARMAsmPrinter.cpp.
References llvm::ARMCP::GOT, llvm::ARMCP::GOTOFF, llvm::ARMCP::GOTTPOFF, llvm_unreachable, llvm::ARMCP::no_modifier, llvm::ARMCP::TLSGD, llvm::ARMCP::TPOFF, llvm::MCSymbolRefExpr::VK_GOT, llvm::MCSymbolRefExpr::VK_GOTOFF, llvm::MCSymbolRefExpr::VK_GOTTPOFF, llvm::MCSymbolRefExpr::VK_None, llvm::MCSymbolRefExpr::VK_TLSGD, and llvm::MCSymbolRefExpr::VK_TPOFF.
Referenced by llvm::ARMAsmPrinter::EmitMachineConstantPoolValue().
static MCSymbol* getPICLabel | ( | const char * | Prefix, |
unsigned | FunctionNumber, | ||
unsigned | LabelId, | ||
MCContext & | Ctx | ||
) | [static] |
Definition at line 790 of file ARMAsmPrinter.cpp.
References llvm::MCContext::GetOrCreateSymbol().
Referenced by llvm::ARMAsmPrinter::EmitInstruction(), and llvm::ARMAsmPrinter::EmitMachineConstantPoolValue().
static bool isThumb | ( | const MCSubtargetInfo & | STI | ) | [static] |
Definition at line 402 of file ARMAsmPrinter.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::ARMAsmPrinter::emitInlineAsmEnd(), llvm::ARMBaseInstrInfo::InsertBranch(), and llvm::ARM_MC::ParseARMTriple().
void LLVMInitializeARMAsmPrinter | ( | ) |
Definition at line 1845 of file ARMAsmPrinter.cpp.
References llvm::ARM_PROC::A, llvm::TheARMBETarget, llvm::TheARMLETarget, llvm::TheThumbBETarget, llvm::TheThumbLETarget, llvm::X, and Y.