31 #define GET_INSTRINFO_MC_DESC 32 #include "XCoreGenInstrInfo.inc" 34 #define GET_SUBTARGETINFO_MC_DESC 35 #include "XCoreGenSubtargetInfo.inc" 37 #define GET_REGINFO_MC_DESC 38 #include "XCoreGenRegisterInfo.inc" 42 InitXCoreMCInstrInfo(X);
48 InitXCoreMCRegisterInfo(X, XCore::LR);
54 return createXCoreMCSubtargetInfoImpl(TT, CPU, FS);
69 unsigned SyntaxVariant,
96 XCoreTargetAsmStreamer::XCoreTargetAsmStreamer(
MCStreamer &S,
101 OS <<
"\t.cc_top " << Name <<
".data," << Name <<
'\n';
104 void XCoreTargetAsmStreamer::emitCCTopFunction(
StringRef Name) {
105 OS <<
"\t.cc_top " << Name <<
".function," << Name <<
'\n';
108 void XCoreTargetAsmStreamer::emitCCBottomData(
StringRef Name) {
109 OS <<
"\t.cc_bottom " << Name <<
".data\n";
112 void XCoreTargetAsmStreamer::emitCCBottomFunction(
StringRef Name) {
113 OS <<
"\t.cc_bottom " << Name <<
".function\n";
120 return new XCoreTargetAsmStreamer(S, OS);
~XCoreTargetStreamer() override
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang", "erlang-compatible garbage collector")
static MCSubtargetInfo * createXCoreMCSubtargetInfo(const Triple &TT, StringRef CPU, StringRef FS)
This class represents lattice values for constants.
Target specific streamer interface.
void LLVMInitializeXCoreTargetMC()
virtual void emitCCTopFunction(StringRef Name)=0
static void RegisterMCInstPrinter(Target &T, Target::MCInstPrinterCtorTy Fn)
RegisterMCInstPrinter - Register a MCInstPrinter implementation for the given target.
static void RegisterAsmTargetStreamer(Target &T, Target::AsmTargetStreamerCtorTy Fn)
amdgpu Simplify well known AMD library false Value Value const Twine & Name
static MCInstPrinter * createXCoreMCInstPrinter(const Triple &T, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
static MCInstrInfo * createXCoreMCInstrInfo()
virtual void emitCCBottomFunction(StringRef Name)=0
void addInitialFrameState(const MCCFIInstruction &Inst)
virtual void emitCCBottomData(StringRef Name)=0
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
This class is intended to be used as a base class for asm properties and features specific to the tar...
Streaming machine code generation interface.
unsigned const MachineRegisterInfo * MRI
static MCCFIInstruction createDefCfa(MCSymbol *L, unsigned Register, int Offset)
.cfi_def_cfa defines a rule for computing CFA as: take address from Register and add Offset to it...
virtual void emitCCTopData(StringRef Name)=0
Interface to description of machine instruction set.
static MCRegisterInfo * createXCoreMCRegisterInfo(const Triple &TT)
static MCAsmInfo * createXCoreMCAsmInfo(const MCRegisterInfo &MRI, const Triple &TT)
static void RegisterMCSubtargetInfo(Target &T, Target::MCSubtargetInfoCtorFnTy Fn)
RegisterMCSubtargetInfo - Register a MCSubtargetInfo implementation for the given target...
Triple - Helper class for working with autoconf configuration names.
Target & getTheXCoreTarget()
static MCTargetStreamer * createTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint, bool isVerboseAsm)
static void RegisterMCRegInfo(Target &T, Target::MCRegInfoCtorFnTy Fn)
RegisterMCRegInfo - Register a MCRegisterInfo implementation for the given target.
XCoreTargetStreamer(MCStreamer &S)
This is an instance of a target assembly language printer that converts an MCInst to valid target ass...
static void RegisterMCInstrInfo(Target &T, Target::MCInstrInfoCtorFnTy Fn)
RegisterMCInstrInfo - Register a MCInstrInfo implementation for the given target. ...
Generic base class for all target subtargets.
This file contains the declaration of the XCoreInstPrinter class, which is used to print XCore MCInst...
RegisterMCAsmInfoFn - Helper template for registering a target assembly info implementation.
StringRef - Represent a constant reference to a string, i.e.