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.