LLVM: lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
24
25namespace llvm {
27#define GET_ASITagsList_IMPL
28#include "SparcGenSearchableTables.inc"
29}
30
32#define GET_PrefetchTagsList_IMPL
33#include "SparcGenSearchableTables.inc"
34}
35}
36
37using namespace llvm;
38
39#define GET_INSTRINFO_MC_DESC
40#define ENABLE_INSTR_PREDICATE_VERIFIER
41#include "SparcGenInstrInfo.inc"
42
43#define GET_SUBTARGETINFO_MC_DESC
44#include "SparcGenSubtargetInfo.inc"
45
46#define GET_REGINFO_MC_DESC
47#include "SparcGenRegisterInfo.inc"
48
53 unsigned Reg = MRI.getDwarfRegNum(SP::O6, true);
56 return MAI;
57}
58
63 unsigned Reg = MRI.getDwarfRegNum(SP::O6, true);
66 return MAI;
67}
68
71 InitSparcMCInstrInfo(X);
72 return X;
73}
74
77 InitSparcMCRegisterInfo(X, SP::O7);
78 return X;
79}
80
83 if (CPU.empty())
85
87 createSparcMCSubtargetInfoImpl(TT, CPU, CPU, FS);
88 if (TT.isSPARC64() && !STI->hasFeature(Sparc::Feature64Bit)) {
91 }
92
93 return STI;
94}
95
100
106
110
112 unsigned SyntaxVariant,
117}
118
121
125
128
130
131
133
134
136
137
139
140
142
143
146
147
149
150
152
153
155 }
156}
unsigned const MachineRegisterInfo * MRI
static MCTargetStreamer * createTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint)
#define LLVM_EXTERNAL_VISIBILITY
static MCTargetStreamer * createNullTargetStreamer(MCStreamer &S)
static MCTargetStreamer * createObjectTargetStreamer(MCStreamer &S, const MCSubtargetInfo &STI)
static MCAsmInfo * createSparcMCAsmInfo(const MCRegisterInfo &MRI, const Triple &TT, const MCTargetOptions &Options)
Definition SparcMCTargetDesc.cpp:49
static MCAsmInfo * createSparcV9MCAsmInfo(const MCRegisterInfo &MRI, const Triple &TT, const MCTargetOptions &Options)
Definition SparcMCTargetDesc.cpp:59
static MCTargetStreamer * createTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint)
Definition SparcMCTargetDesc.cpp:101
static MCRegisterInfo * createSparcMCRegisterInfo(const Triple &TT)
Definition SparcMCTargetDesc.cpp:75
static MCInstPrinter * createSparcMCInstPrinter(const Triple &T, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
Definition SparcMCTargetDesc.cpp:111
static MCTargetStreamer * createNullTargetStreamer(MCStreamer &S)
Definition SparcMCTargetDesc.cpp:107
static MCInstrInfo * createSparcMCInstrInfo()
Definition SparcMCTargetDesc.cpp:69
static MCTargetStreamer * createObjectTargetStreamer(MCStreamer &S, const MCSubtargetInfo &STI)
Definition SparcMCTargetDesc.cpp:97
LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeSparcTargetMC()
Definition SparcMCTargetDesc.cpp:120
static MCSubtargetInfo * createSparcMCSubtargetInfo(const Triple &TT, StringRef CPU, StringRef FS)
Definition SparcMCTargetDesc.cpp:82
static TableGen::Emitter::Opt Y("gen-skeleton-entry", EmitSkeleton, "Generate example skeleton entry")
static TableGen::Emitter::OptClass< SkeletonEmitter > X("gen-skeleton-class", "Generate example skeleton class")
Container class for subtarget features.
This class is intended to be used as a base class for asm properties and features specific to the tar...
void addInitialFrameState(const MCCFIInstruction &Inst)
static MCCFIInstruction cfiDefCfa(MCSymbol *L, unsigned Register, int64_t Offset, SMLoc Loc={})
.cfi_def_cfa defines a rule for computing CFA as: take address from Register and add Offset to it.
This is an instance of a target assembly language printer that converts an MCInst to valid target ass...
Interface to description of machine instruction set.
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Streaming machine code generation interface.
Generic base class for all target subtargets.
bool hasFeature(unsigned Feature) const
void setFeatureBits(const FeatureBitset &FeatureBits_)
const FeatureBitset & getFeatureBits() const
Target specific streamer interface.
StringRef - Represent a constant reference to a string, i.e.
Target - Wrapper for Target specific information.
Triple - Helper class for working with autoconf configuration names.
formatted_raw_ostream - A raw_ostream that wraps another one and keeps track of line and column posit...
This is an optimization pass for GlobalISel generic memory operations.
Target & getTheSparcTarget()
Target & getTheSparcV9Target()
MCAsmBackend * createSparcAsmBackend(const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options)
Target & getTheSparcelTarget()
MCCodeEmitter * createSparcMCCodeEmitter(const MCInstrInfo &MCII, MCContext &Ctx)
RegisterMCAsmInfoFn - Helper template for registering a target assembly info implementation.
static void RegisterMCRegInfo(Target &T, Target::MCRegInfoCtorFnTy Fn)
RegisterMCRegInfo - Register a MCRegisterInfo implementation for the given target.
static void RegisterMCAsmBackend(Target &T, Target::MCAsmBackendCtorTy Fn)
RegisterMCAsmBackend - Register a MCAsmBackend implementation for the given target.
static void RegisterMCCodeEmitter(Target &T, Target::MCCodeEmitterCtorTy Fn)
RegisterMCCodeEmitter - Register a MCCodeEmitter implementation for the given target.
static void RegisterMCSubtargetInfo(Target &T, Target::MCSubtargetInfoCtorFnTy Fn)
RegisterMCSubtargetInfo - Register a MCSubtargetInfo implementation for the given target.
static void RegisterObjectTargetStreamer(Target &T, Target::ObjectTargetStreamerCtorTy Fn)
static void RegisterNullTargetStreamer(Target &T, Target::NullTargetStreamerCtorTy Fn)
static void RegisterMCInstPrinter(Target &T, Target::MCInstPrinterCtorTy Fn)
RegisterMCInstPrinter - Register a MCInstPrinter implementation for the given target.
static void RegisterMCInstrInfo(Target &T, Target::MCInstrInfoCtorFnTy Fn)
RegisterMCInstrInfo - Register a MCInstrInfo implementation for the given target.
static void RegisterAsmTargetStreamer(Target &T, Target::AsmTargetStreamerCtorTy Fn)