9#ifndef LLVM_LIB_TARGET_ARM_ARMASMPRINTER_H 
   10#define LLVM_LIB_TARGET_ARM_ARMASMPRINTER_H 
   59  int OptimizationGoals;
 
   73                         std::unique_ptr<MCStreamer> Streamer);
 
   76    return "ARM Assembly Printer";
 
 
   94  void emitJumpTableTBInst(
const MachineInstr *
MI, 
unsigned OffsetWidth);
 
   99  getCodeViewJumpTableInfo(
int JTI, 
const MachineInstr *BranchInstr,
 
  100                           const MCSymbol *BranchLabel) 
const override;
 
  105  void emitFunctionBodyEnd() 
override;
 
  106  void emitFunctionEntryLabel() 
override;
 
  107  void emitStartOfAsmFile(
Module &M) 
override;
 
  108  void emitEndOfAsmFile(
Module &M) 
override;
 
  112  MCSymbol *GetCPISymbol(
unsigned CPID) 
const override;
 
  133  void EmitKCFI_CHECK_ARM32(
Register AddrReg, int64_t 
Type,
 
  135  void EmitKCFI_CHECK_Thumb2(
Register AddrReg, int64_t 
Type,
 
  137  void EmitKCFI_CHECK_Thumb1(
Register AddrReg, int64_t 
Type,
 
  141  void emitAttributes();
 
  151    const Triple &TT = 
TM.getTargetTriple();
 
  152    if (!TT.isOSBinFormatMachO())
 
 
  162  MCSymbol *GetARMJTIPICJumpTableLabel(
unsigned uid) 
const;
 
 
static bool isThumb(const MCSubtargetInfo &STI)
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
#define LLVM_LIBRARY_VISIBILITY
static MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol, HexagonAsmPrinter &Printer, bool MustExtend)
const GCNTargetMachine & getTM(const GCNSubtarget *STI)
static bool printOperand(raw_ostream &OS, const SelectionDAG *G, const SDValue Value)
void emitConstantPool() override
Print to the current output stream assembly representations of the constants in the constant pool MCP...
unsigned getISAEncoding() override
Get the value for DW_AT_APPLE_isa. Zero if no isa encoding specified.
ARMAsmPrinter(TargetMachine &TM, std::unique_ptr< MCStreamer > Streamer)
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
ARMFunctionInfo - This class is derived from MachineFunctionInfo and contains private ARM-specific in...
TargetMachine & TM
Target machine description.
AsmPrinter(TargetMachine &TM, std::unique_ptr< MCStreamer > Streamer, char &ID=AsmPrinter::ID)
This is an important base class in LLVM.
A parsed version of the target data layout string in and methods for querying it.
Instances of this class represent a single low-level machine instruction.
Instances of this class represent operands of the MCInst class.
Generic base class for all target subtargets.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Abstract base class for all machine specific constantpool value subclasses.
The MachineConstantPool class keeps track of constants referenced by a function which must be spilled...
Representation of each machine instruction.
MachineOperand class - Representation of each machine instruction operand.
A Module instance is used to store all the information related to an LLVM module.
Wrapper class representing virtual and physical registers.
SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
Primary interface to the complete machine description for the target machine.
Triple - Helper class for working with autoconf configuration names.
The instances of the Type class are immutable: once they are created, they are never changed.
This class implements an extremely fast bulk output stream that can only output to a stream.
Define some predicates that are used for node matching.
This is an optimization pass for GlobalISel generic memory operations.