LLVM 20.0.0git
Macros | Functions
SystemZAsmPrinter.cpp File Reference
#include "SystemZAsmPrinter.h"
#include "MCTargetDesc/SystemZGNUInstPrinter.h"
#include "MCTargetDesc/SystemZHLASMInstPrinter.h"
#include "MCTargetDesc/SystemZMCExpr.h"
#include "MCTargetDesc/SystemZMCTargetDesc.h"
#include "SystemZConstantPoolValue.h"
#include "SystemZMCInstLower.h"
#include "TargetInfo/SystemZTargetInfo.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/CodeGen/MachineModuleInfoImpls.h"
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
#include "llvm/IR/Mangler.h"
#include "llvm/IR/Module.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInstBuilder.h"
#include "llvm/MC/MCSectionELF.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/Chrono.h"
#include "llvm/Support/ConvertEBCDIC.h"
#include "llvm/Support/FormatVariadic.h"

Go to the source code of this file.

Macros

#define LOWER_LOW(NAME)    case SystemZ::NAME##64: LoweredMI = lowerRILow(MI, SystemZ::NAME); break
 
#define LOWER_HIGH(NAME)    case SystemZ::NAME##64: LoweredMI = lowerRIHigh(MI, SystemZ::NAME); break
 
#define EMIT_COMMENT(Str)
 

Functions

static MCInst lowerRILow (const MachineInstr *MI, unsigned Opcode)
 
static MCInst lowerRIHigh (const MachineInstr *MI, unsigned Opcode)
 
static MCInst lowerRIEfLow (const MachineInstr *MI, unsigned Opcode)
 
static const MCSymbolRefExprgetTLSGetOffset (MCContext &Context)
 
static const MCSymbolRefExprgetGlobalOffsetTable (MCContext &Context)
 
static void lowerAlignmentHint (const MachineInstr *MI, MCInst &LoweredMI, unsigned Opcode)
 
static MCInst lowerSubvectorLoad (const MachineInstr *MI, unsigned Opcode)
 
static MCInst lowerSubvectorStore (const MachineInstr *MI, unsigned Opcode)
 
static unsigned EmitNop (MCContext &OutContext, MCStreamer &OutStreamer, unsigned NumBytes, const MCSubtargetInfo &STI)
 
static MCSymbolRefExpr::VariantKind getModifierVariantKind (SystemZCP::SystemZCPModifier Modifier)
 
static void printFormattedRegName (const MCAsmInfo *MAI, unsigned RegNo, raw_ostream &OS)
 
static void printReg (unsigned Reg, const MCAsmInfo *MAI, raw_ostream &OS)
 
static void printOperand (const MCOperand &MCOp, const MCAsmInfo *MAI, raw_ostream &OS)
 
static void printAddress (const MCAsmInfo *MAI, unsigned Base, const MCOperand &DispMO, unsigned Index, raw_ostream &OS)
 
static std::string getProductID (Module &M)
 
static uint32_t getProductVersion (Module &M)
 
static uint32_t getProductRelease (Module &M)
 
static uint32_t getProductPatch (Module &M)
 
static time_t getTranslationTime (Module &M)
 
static void emitPPA1Flags (std::unique_ptr< MCStreamer > &OutStreamer, bool VarArg, bool StackProtector, bool FPRMask, bool VRMask, bool EHBlock, bool HasName)
 
static void emitPPA1Name (std::unique_ptr< MCStreamer > &OutStreamer, StringRef OutName)
 
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeSystemZAsmPrinter ()
 

Macro Definition Documentation

◆ EMIT_COMMENT

#define EMIT_COMMENT (   Str)
Value:
OutStreamer->AddComment(Twine("Offset ") \
.concat(utostr(Offset)) \
.concat(" " Str " ") \
.concat(Sym->getName()));
Symbol * Sym
Definition: ELF_riscv.cpp:479
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
Definition: Twine.h:81
@ Offset
Definition: DWP.cpp:480
detail::concat_range< ValueT, RangeTs... > concat(RangeTs &&...Ranges)
Returns a concatenated range across two or more ranges.
Definition: STLExtras.h:1192

◆ LOWER_HIGH

#define LOWER_HIGH (   NAME)     case SystemZ::NAME##64: LoweredMI = lowerRIHigh(MI, SystemZ::NAME); break

◆ LOWER_LOW

#define LOWER_LOW (   NAME)     case SystemZ::NAME##64: LoweredMI = lowerRILow(MI, SystemZ::NAME); break

Function Documentation

◆ EmitNop()

static unsigned EmitNop ( MCContext OutContext,
MCStreamer OutStreamer,
unsigned  NumBytes,
const MCSubtargetInfo STI 
)
static

◆ emitPPA1Flags()

static void emitPPA1Flags ( std::unique_ptr< MCStreamer > &  OutStreamer,
bool  VarArg,
bool  StackProtector,
bool  FPRMask,
bool  VRMask,
bool  EHBlock,
bool  HasName 
)
static

Definition at line 1241 of file SystemZAsmPrinter.cpp.

References llvm::LLVM_MARK_AS_BITMASK_ENUM.

◆ emitPPA1Name()

static void emitPPA1Name ( std::unique_ptr< MCStreamer > &  OutStreamer,
StringRef  OutName 
)
static

◆ getGlobalOffsetTable()

static const MCSymbolRefExpr * getGlobalOffsetTable ( MCContext Context)
static

◆ getModifierVariantKind()

static MCSymbolRefExpr::VariantKind getModifierVariantKind ( SystemZCP::SystemZCPModifier  Modifier)
static

◆ getProductID()

static std::string getProductID ( Module M)
static

Definition at line 1158 of file SystemZAsmPrinter.cpp.

◆ getProductPatch()

static uint32_t getProductPatch ( Module M)
static

Definition at line 1181 of file SystemZAsmPrinter.cpp.

◆ getProductRelease()

static uint32_t getProductRelease ( Module M)
static

Definition at line 1174 of file SystemZAsmPrinter.cpp.

◆ getProductVersion()

static uint32_t getProductVersion ( Module M)
static

Definition at line 1167 of file SystemZAsmPrinter.cpp.

◆ getTLSGetOffset()

static const MCSymbolRefExpr * getTLSGetOffset ( MCContext Context)
static

◆ getTranslationTime()

static time_t getTranslationTime ( Module M)
static

Definition at line 1188 of file SystemZAsmPrinter.cpp.

◆ LLVMInitializeSystemZAsmPrinter()

LLVM_EXTERNAL_VISIBILITY void LLVMInitializeSystemZAsmPrinter ( )

Definition at line 1712 of file SystemZAsmPrinter.cpp.

References llvm::getTheSystemZTarget(), and X.

◆ lowerAlignmentHint()

static void lowerAlignmentHint ( const MachineInstr MI,
MCInst LoweredMI,
unsigned  Opcode 
)
static

◆ lowerRIEfLow()

static MCInst lowerRIEfLow ( const MachineInstr MI,
unsigned  Opcode 
)
static

◆ lowerRIHigh()

static MCInst lowerRIHigh ( const MachineInstr MI,
unsigned  Opcode 
)
static

◆ lowerRILow()

static MCInst lowerRILow ( const MachineInstr MI,
unsigned  Opcode 
)
static

◆ lowerSubvectorLoad()

static MCInst lowerSubvectorLoad ( const MachineInstr MI,
unsigned  Opcode 
)
static

◆ lowerSubvectorStore()

static MCInst lowerSubvectorStore ( const MachineInstr MI,
unsigned  Opcode 
)
static

◆ printAddress()

static void printAddress ( const MCAsmInfo MAI,
unsigned  Base,
const MCOperand DispMO,
unsigned  Index,
raw_ostream OS 
)
static

◆ printFormattedRegName()

static void printFormattedRegName ( const MCAsmInfo MAI,
unsigned  RegNo,
raw_ostream OS 
)
static

◆ printOperand()

static void printOperand ( const MCOperand MCOp,
const MCAsmInfo MAI,
raw_ostream OS 
)
static

◆ printReg()

static void printReg ( unsigned  Reg,
const MCAsmInfo MAI,
raw_ostream OS 
)
static

Definition at line 998 of file SystemZAsmPrinter.cpp.

References OS, and printFormattedRegName().