#include "SystemZAsmPrinter.h"
#include "MCTargetDesc/SystemZInstPrinter.h"
#include "MCTargetDesc/SystemZMCExpr.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/FormatProviders.h"
#include "llvm/Support/FormatVariadic.h"
usingnamespacellvm;
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 MCSymbolRefExpr *getTLSGetOffset(MCContext &Context) { … }
static const MCSymbolRefExpr *getGlobalOffsetTable(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) { … }
void SystemZAsmPrinter::emitCallInformation(CallType CT) { … }
uint32_t SystemZAsmPrinter::AssociatedDataAreaTable::insert(const MCSymbol *Sym,
unsigned SlotKind) { … }
uint32_t
SystemZAsmPrinter::AssociatedDataAreaTable::insert(const MachineOperand MO) { … }
void SystemZAsmPrinter::emitInstruction(const MachineInstr *MI) { … }
static unsigned EmitNop(MCContext &OutContext, MCStreamer &OutStreamer,
unsigned NumBytes, const MCSubtargetInfo &STI) { … }
void SystemZAsmPrinter::LowerFENTRY_CALL(const MachineInstr &MI,
SystemZMCInstLower &Lower) { … }
void SystemZAsmPrinter::LowerSTACKMAP(const MachineInstr &MI) { … }
void SystemZAsmPrinter::LowerPATCHPOINT(const MachineInstr &MI,
SystemZMCInstLower &Lower) { … }
void SystemZAsmPrinter::emitAttributes(Module &M) { … }
static MCSymbolRefExpr::VariantKind
getModifierVariantKind(SystemZCP::SystemZCPModifier Modifier) { … }
void SystemZAsmPrinter::emitMachineConstantPoolValue(
MachineConstantPoolValue *MCPV) { … }
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) { … }
bool SystemZAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
const char *ExtraCode,
raw_ostream &OS) { … }
bool SystemZAsmPrinter::PrintAsmMemoryOperand(const MachineInstr *MI,
unsigned OpNo,
const char *ExtraCode,
raw_ostream &OS) { … }
void SystemZAsmPrinter::emitEndOfAsmFile(Module &M) { … }
void SystemZAsmPrinter::emitADASection() { … }
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) { … }
void SystemZAsmPrinter::emitIDRLSection(Module &M) { … }
void SystemZAsmPrinter::emitFunctionBodyEnd() { … }
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) { … }
void SystemZAsmPrinter::emitPPA1(MCSymbol *FnEndSym) { … }
void SystemZAsmPrinter::emitStartOfAsmFile(Module &M) { … }
void SystemZAsmPrinter::emitPPA2(Module &M) { … }
void SystemZAsmPrinter::emitFunctionEntryLabel() { … }
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeSystemZAsmPrinter() { … }