LLVM  16.0.0git
MipsTargetStreamer.h
Go to the documentation of this file.
1 //===-- MipsTargetStreamer.h - Mips Target Streamer ------------*- C++ -*--===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_LIB_TARGET_MIPS_MIPSTARGETSTREAMER_H
10 #define LLVM_LIB_TARGET_MIPS_MIPSTARGETSTREAMER_H
11 
14 #include "llvm/ADT/STLExtras.h"
15 #include "llvm/MC/MCELFStreamer.h"
16 #include "llvm/MC/MCRegisterInfo.h"
17 #include "llvm/MC/MCStreamer.h"
18 
19 namespace llvm {
20 
21 class formatted_raw_ostream;
22 
24 public:
26 
27  virtual void setPic(bool Value) {}
28 
29  virtual void emitDirectiveSetMicroMips();
30  virtual void emitDirectiveSetNoMicroMips();
31  virtual void setUsesMicroMips();
32  virtual void emitDirectiveSetMips16();
33  virtual void emitDirectiveSetNoMips16();
34 
35  virtual void emitDirectiveSetReorder();
36  virtual void emitDirectiveSetNoReorder();
37  virtual void emitDirectiveSetMacro();
38  virtual void emitDirectiveSetNoMacro();
39  virtual void emitDirectiveSetMsa();
40  virtual void emitDirectiveSetNoMsa();
41  virtual void emitDirectiveSetMt();
42  virtual void emitDirectiveSetNoMt();
43  virtual void emitDirectiveSetCRC();
44  virtual void emitDirectiveSetNoCRC();
45  virtual void emitDirectiveSetVirt();
46  virtual void emitDirectiveSetNoVirt();
47  virtual void emitDirectiveSetGINV();
48  virtual void emitDirectiveSetNoGINV();
49  virtual void emitDirectiveSetAt();
50  virtual void emitDirectiveSetAtWithArg(unsigned RegNo);
51  virtual void emitDirectiveSetNoAt();
52  virtual void emitDirectiveEnd(StringRef Name);
53 
54  virtual void emitDirectiveEnt(const MCSymbol &Symbol);
55  virtual void emitDirectiveAbiCalls();
56  virtual void emitDirectiveNaN2008();
57  virtual void emitDirectiveNaNLegacy();
58  virtual void emitDirectiveOptionPic0();
59  virtual void emitDirectiveOptionPic2();
60  virtual void emitDirectiveInsn();
61  virtual void emitFrame(unsigned StackReg, unsigned StackSize,
62  unsigned ReturnReg);
63  virtual void emitMask(unsigned CPUBitmask, int CPUTopSavedRegOff);
64  virtual void emitFMask(unsigned FPUBitmask, int FPUTopSavedRegOff);
65 
66  virtual void emitDirectiveSetArch(StringRef Arch);
67  virtual void emitDirectiveSetMips0();
68  virtual void emitDirectiveSetMips1();
69  virtual void emitDirectiveSetMips2();
70  virtual void emitDirectiveSetMips3();
71  virtual void emitDirectiveSetMips4();
72  virtual void emitDirectiveSetMips5();
73  virtual void emitDirectiveSetMips32();
74  virtual void emitDirectiveSetMips32R2();
75  virtual void emitDirectiveSetMips32R3();
76  virtual void emitDirectiveSetMips32R5();
77  virtual void emitDirectiveSetMips32R6();
78  virtual void emitDirectiveSetMips64();
79  virtual void emitDirectiveSetMips64R2();
80  virtual void emitDirectiveSetMips64R3();
81  virtual void emitDirectiveSetMips64R5();
82  virtual void emitDirectiveSetMips64R6();
83  virtual void emitDirectiveSetDsp();
84  virtual void emitDirectiveSetDspr2();
85  virtual void emitDirectiveSetNoDsp();
86  virtual void emitDirectiveSetMips3D();
87  virtual void emitDirectiveSetNoMips3D();
88  virtual void emitDirectiveSetPop();
89  virtual void emitDirectiveSetPush();
90  virtual void emitDirectiveSetSoftFloat();
91  virtual void emitDirectiveSetHardFloat();
92 
93  // PIC support
94  virtual void emitDirectiveCpAdd(unsigned RegNo);
95  virtual void emitDirectiveCpLoad(unsigned RegNo);
96  virtual void emitDirectiveCpLocal(unsigned RegNo);
97  virtual bool emitDirectiveCpRestore(int Offset,
98  function_ref<unsigned()> GetATReg,
99  SMLoc IDLoc, const MCSubtargetInfo *STI);
100  virtual void emitDirectiveCpsetup(unsigned RegNo, int RegOrOffset,
101  const MCSymbol &Sym, bool IsReg);
102  virtual void emitDirectiveCpreturn(unsigned SaveLocation,
103  bool SaveLocationIsRegister);
104 
105  // FP abiflags directives
106  virtual void emitDirectiveModuleFP();
107  virtual void emitDirectiveModuleOddSPReg();
108  virtual void emitDirectiveModuleSoftFloat();
109  virtual void emitDirectiveModuleHardFloat();
110  virtual void emitDirectiveModuleMT();
112  virtual void emitDirectiveSetOddSPReg();
113  virtual void emitDirectiveSetNoOddSPReg();
114  virtual void emitDirectiveModuleCRC();
115  virtual void emitDirectiveModuleNoCRC();
116  virtual void emitDirectiveModuleVirt();
117  virtual void emitDirectiveModuleNoVirt();
118  virtual void emitDirectiveModuleGINV();
119  virtual void emitDirectiveModuleNoGINV();
120 
121  void emitR(unsigned Opcode, unsigned Reg0, SMLoc IDLoc,
122  const MCSubtargetInfo *STI);
123  void emitII(unsigned Opcode, int16_t Imm1, int16_t Imm2, SMLoc IDLoc,
124  const MCSubtargetInfo *STI);
125  void emitRX(unsigned Opcode, unsigned Reg0, MCOperand Op1, SMLoc IDLoc,
126  const MCSubtargetInfo *STI);
127  void emitRI(unsigned Opcode, unsigned Reg0, int32_t Imm, SMLoc IDLoc,
128  const MCSubtargetInfo *STI);
129  void emitRR(unsigned Opcode, unsigned Reg0, unsigned Reg1, SMLoc IDLoc,
130  const MCSubtargetInfo *STI);
131  void emitRRX(unsigned Opcode, unsigned Reg0, unsigned Reg1, MCOperand Op2,
132  SMLoc IDLoc, const MCSubtargetInfo *STI);
133  void emitRRR(unsigned Opcode, unsigned Reg0, unsigned Reg1, unsigned Reg2,
134  SMLoc IDLoc, const MCSubtargetInfo *STI);
135  void emitRRRX(unsigned Opcode, unsigned Reg0, unsigned Reg1, unsigned Reg2,
136  MCOperand Op3, SMLoc IDLoc, const MCSubtargetInfo *STI);
137  void emitRRI(unsigned Opcode, unsigned Reg0, unsigned Reg1, int16_t Imm,
138  SMLoc IDLoc, const MCSubtargetInfo *STI);
139  void emitRRIII(unsigned Opcode, unsigned Reg0, unsigned Reg1, int16_t Imm0,
140  int16_t Imm1, int16_t Imm2, SMLoc IDLoc,
141  const MCSubtargetInfo *STI);
142  void emitAddu(unsigned DstReg, unsigned SrcReg, unsigned TrgReg, bool Is64Bit,
143  const MCSubtargetInfo *STI);
144  void emitDSLL(unsigned DstReg, unsigned SrcReg, int16_t ShiftAmount,
145  SMLoc IDLoc, const MCSubtargetInfo *STI);
146  void emitEmptyDelaySlot(bool hasShortDelaySlot, SMLoc IDLoc,
147  const MCSubtargetInfo *STI);
148  void emitNop(SMLoc IDLoc, const MCSubtargetInfo *STI);
149 
150  /// Emit a store instruction with an offset. If the offset is out of range
151  /// then it will be synthesized using the assembler temporary.
152  ///
153  /// GetATReg() is a callback that can be used to obtain the current assembler
154  /// temporary and is only called when the assembler temporary is required. It
155  /// must handle the case where no assembler temporary is available (typically
156  /// by reporting an error).
157  void emitStoreWithImmOffset(unsigned Opcode, unsigned SrcReg,
158  unsigned BaseReg, int64_t Offset,
159  function_ref<unsigned()> GetATReg, SMLoc IDLoc,
160  const MCSubtargetInfo *STI);
161  void emitLoadWithImmOffset(unsigned Opcode, unsigned DstReg, unsigned BaseReg,
162  int64_t Offset, unsigned TmpReg, SMLoc IDLoc,
163  const MCSubtargetInfo *STI);
164  void emitGPRestore(int Offset, SMLoc IDLoc, const MCSubtargetInfo *STI);
165 
166  void forbidModuleDirective() { ModuleDirectiveAllowed = false; }
167  void reallowModuleDirective() { ModuleDirectiveAllowed = true; }
168  bool isModuleDirectiveAllowed() { return ModuleDirectiveAllowed; }
169 
170  // This method enables template classes to set internal abi flags
171  // structure values.
172  template <class PredicateLibrary>
173  void updateABIInfo(const PredicateLibrary &P) {
174  ABI = P.getABI();
176  }
177 
179  const MipsABIInfo &getABI() const {
180  assert(ABI && "ABI hasn't been set!");
181  return *ABI;
182  }
183 
184 protected:
185  std::optional<MipsABIInfo> ABI;
187 
189  unsigned GPRBitMask;
191 
193  unsigned FPRBitMask;
195 
198  unsigned FrameReg;
199  unsigned GPReg;
200  unsigned ReturnReg;
201 
202 private:
203  bool ModuleDirectiveAllowed;
204 };
205 
206 // This part is for ascii assembly output
209 
210 public:
212  void emitDirectiveSetMicroMips() override;
213  void emitDirectiveSetNoMicroMips() override;
214  void emitDirectiveSetMips16() override;
215  void emitDirectiveSetNoMips16() override;
216 
217  void emitDirectiveSetReorder() override;
218  void emitDirectiveSetNoReorder() override;
219  void emitDirectiveSetMacro() override;
220  void emitDirectiveSetNoMacro() override;
221  void emitDirectiveSetMsa() override;
222  void emitDirectiveSetNoMsa() override;
223  void emitDirectiveSetMt() override;
224  void emitDirectiveSetNoMt() override;
225  void emitDirectiveSetCRC() override;
226  void emitDirectiveSetNoCRC() override;
227  void emitDirectiveSetVirt() override;
228  void emitDirectiveSetNoVirt() override;
229  void emitDirectiveSetGINV() override;
230  void emitDirectiveSetNoGINV() override;
231  void emitDirectiveSetAt() override;
232  void emitDirectiveSetAtWithArg(unsigned RegNo) override;
233  void emitDirectiveSetNoAt() override;
234  void emitDirectiveEnd(StringRef Name) override;
235 
236  void emitDirectiveEnt(const MCSymbol &Symbol) override;
237  void emitDirectiveAbiCalls() override;
238  void emitDirectiveNaN2008() override;
239  void emitDirectiveNaNLegacy() override;
240  void emitDirectiveOptionPic0() override;
241  void emitDirectiveOptionPic2() override;
242  void emitDirectiveInsn() override;
243  void emitFrame(unsigned StackReg, unsigned StackSize,
244  unsigned ReturnReg) override;
245  void emitMask(unsigned CPUBitmask, int CPUTopSavedRegOff) override;
246  void emitFMask(unsigned FPUBitmask, int FPUTopSavedRegOff) override;
247 
248  void emitDirectiveSetArch(StringRef Arch) override;
249  void emitDirectiveSetMips0() override;
250  void emitDirectiveSetMips1() override;
251  void emitDirectiveSetMips2() override;
252  void emitDirectiveSetMips3() override;
253  void emitDirectiveSetMips4() override;
254  void emitDirectiveSetMips5() override;
255  void emitDirectiveSetMips32() override;
256  void emitDirectiveSetMips32R2() override;
257  void emitDirectiveSetMips32R3() override;
258  void emitDirectiveSetMips32R5() override;
259  void emitDirectiveSetMips32R6() override;
260  void emitDirectiveSetMips64() override;
261  void emitDirectiveSetMips64R2() override;
262  void emitDirectiveSetMips64R3() override;
263  void emitDirectiveSetMips64R5() override;
264  void emitDirectiveSetMips64R6() override;
265  void emitDirectiveSetDsp() override;
266  void emitDirectiveSetDspr2() override;
267  void emitDirectiveSetNoDsp() override;
268  void emitDirectiveSetMips3D() override;
269  void emitDirectiveSetNoMips3D() override;
270  void emitDirectiveSetPop() override;
271  void emitDirectiveSetPush() override;
272  void emitDirectiveSetSoftFloat() override;
273  void emitDirectiveSetHardFloat() override;
274 
275  // PIC support
276  void emitDirectiveCpAdd(unsigned RegNo) override;
277  void emitDirectiveCpLoad(unsigned RegNo) override;
278  void emitDirectiveCpLocal(unsigned RegNo) override;
279 
280  /// Emit a .cprestore directive. If the offset is out of range then it will
281  /// be synthesized using the assembler temporary.
282  ///
283  /// GetATReg() is a callback that can be used to obtain the current assembler
284  /// temporary and is only called when the assembler temporary is required. It
285  /// must handle the case where no assembler temporary is available (typically
286  /// by reporting an error).
287  bool emitDirectiveCpRestore(int Offset, function_ref<unsigned()> GetATReg,
288  SMLoc IDLoc, const MCSubtargetInfo *STI) override;
289  void emitDirectiveCpsetup(unsigned RegNo, int RegOrOffset,
290  const MCSymbol &Sym, bool IsReg) override;
291  void emitDirectiveCpreturn(unsigned SaveLocation,
292  bool SaveLocationIsRegister) override;
293 
294  // FP abiflags directives
295  void emitDirectiveModuleFP() override;
296  void emitDirectiveModuleOddSPReg() override;
297  void emitDirectiveModuleSoftFloat() override;
298  void emitDirectiveModuleHardFloat() override;
299  void emitDirectiveModuleMT() override;
300  void emitDirectiveModuleCRC() override;
301  void emitDirectiveModuleNoCRC() override;
302  void emitDirectiveModuleVirt() override;
303  void emitDirectiveModuleNoVirt() override;
304  void emitDirectiveModuleGINV() override;
305  void emitDirectiveModuleNoGINV() override;
307  void emitDirectiveSetOddSPReg() override;
308  void emitDirectiveSetNoOddSPReg() override;
309 };
310 
311 // This part is for ELF object output
313  bool MicroMipsEnabled;
314  const MCSubtargetInfo &STI;
315  bool Pic;
316 
317 public:
318  bool isMicroMipsEnabled() const { return MicroMipsEnabled; }
321 
322  void setPic(bool Value) override { Pic = Value; }
323 
324  void emitLabel(MCSymbol *Symbol) override;
325  void emitAssignment(MCSymbol *Symbol, const MCExpr *Value) override;
326  void finish() override;
327 
328  void emitDirectiveSetMicroMips() override;
329  void emitDirectiveSetNoMicroMips() override;
330  void setUsesMicroMips() override;
331  void emitDirectiveSetMips16() override;
332 
333  void emitDirectiveSetNoReorder() override;
334  void emitDirectiveEnd(StringRef Name) override;
335 
336  void emitDirectiveEnt(const MCSymbol &Symbol) override;
337  void emitDirectiveAbiCalls() override;
338  void emitDirectiveNaN2008() override;
339  void emitDirectiveNaNLegacy() override;
340  void emitDirectiveOptionPic0() override;
341  void emitDirectiveOptionPic2() override;
342  void emitDirectiveInsn() override;
343  void emitFrame(unsigned StackReg, unsigned StackSize,
344  unsigned ReturnReg) override;
345  void emitMask(unsigned CPUBitmask, int CPUTopSavedRegOff) override;
346  void emitFMask(unsigned FPUBitmask, int FPUTopSavedRegOff) override;
347 
348  // PIC support
349  void emitDirectiveCpAdd(unsigned RegNo) override;
350  void emitDirectiveCpLoad(unsigned RegNo) override;
351  void emitDirectiveCpLocal(unsigned RegNo) override;
352  bool emitDirectiveCpRestore(int Offset, function_ref<unsigned()> GetATReg,
353  SMLoc IDLoc, const MCSubtargetInfo *STI) override;
354  void emitDirectiveCpsetup(unsigned RegNo, int RegOrOffset,
355  const MCSymbol &Sym, bool IsReg) override;
356  void emitDirectiveCpreturn(unsigned SaveLocation,
357  bool SaveLocationIsRegister) override;
358 
359  void emitMipsAbiFlags();
360 };
361 }
362 #endif
llvm::MipsTargetStreamer::emitLoadWithImmOffset
void emitLoadWithImmOffset(unsigned Opcode, unsigned DstReg, unsigned BaseReg, int64_t Offset, unsigned TmpReg, SMLoc IDLoc, const MCSubtargetInfo *STI)
Emit a load instruction with an immediate offset.
Definition: MipsTargetStreamer.cpp:351
llvm::MipsTargetELFStreamer::emitDirectiveCpRestore
bool emitDirectiveCpRestore(int Offset, function_ref< unsigned()> GetATReg, SMLoc IDLoc, const MCSubtargetInfo *STI) override
Definition: MipsTargetStreamer.cpp:1215
llvm::MipsTargetAsmStreamer::emitDirectiveSetReorder
void emitDirectiveSetReorder() override
Definition: MipsTargetStreamer.cpp:407
llvm::MipsTargetStreamer::emitDirectiveSetMips5
virtual void emitDirectiveSetMips5()
Definition: MipsTargetStreamer.cpp:96
llvm::MipsTargetStreamer::emitDirectiveSetVirt
virtual void emitDirectiveSetVirt()
Definition: MipsTargetStreamer.cpp:66
llvm::MipsTargetStreamer::emitDirectiveSetNoVirt
virtual void emitDirectiveSetNoVirt()
Definition: MipsTargetStreamer.cpp:67
llvm::MipsTargetAsmStreamer::emitDirectiveModuleFP
void emitDirectiveModuleFP() override
Definition: MipsTargetStreamer.cpp:731
llvm::MipsTargetStreamer::emitDirectiveSetMips32R3
virtual void emitDirectiveSetMips32R3()
Definition: MipsTargetStreamer.cpp:99
llvm::MipsTargetStreamer::emitII
void emitII(unsigned Opcode, int16_t Imm1, int16_t Imm2, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:204
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
llvm::MipsTargetStreamer::emitDirectiveOptionPic0
virtual void emitDirectiveOptionPic0()
Definition: MipsTargetStreamer.cpp:80
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips64R5
void emitDirectiveSetMips64R5() override
Definition: MipsTargetStreamer.cpp:604
llvm::MipsTargetStreamer::emitRR
void emitRR(unsigned Opcode, unsigned Reg0, unsigned Reg1, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:199
llvm::MipsTargetAsmStreamer::emitDirectiveSetFp
void emitDirectiveSetFp(MipsABIFlagsSection::FpABIKind Value) override
Definition: MipsTargetStreamer.cpp:739
llvm::MCSymbol
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition: MCSymbol.h:41
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoReorder
void emitDirectiveSetNoReorder() override
Definition: MipsTargetStreamer.cpp:412
llvm::MipsTargetAsmStreamer::emitDirectiveCpsetup
void emitDirectiveCpsetup(unsigned RegNo, int RegOrOffset, const MCSymbol &Sym, bool IsReg) override
Definition: MipsTargetStreamer.cpp:706
llvm::MipsTargetStreamer::emitRX
void emitRX(unsigned Opcode, unsigned Reg0, MCOperand Op1, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:184
llvm::MipsTargetStreamer::emitDirectiveModuleMT
virtual void emitDirectiveModuleMT()
Definition: MipsTargetStreamer.cpp:159
llvm::MipsTargetStreamer::emitGPRestore
void emitGPRestore(int Offset, SMLoc IDLoc, const MCSubtargetInfo *STI)
Emit the $gp restore operation for .cprestore.
Definition: MipsTargetStreamer.cpp:308
llvm::MipsTargetStreamer::emitDirectiveSetNoMips3D
virtual void emitDirectiveSetNoMips3D()
Definition: MipsTargetStreamer.cpp:119
llvm::MipsTargetELFStreamer::emitLabel
void emitLabel(MCSymbol *Symbol) override
Definition: MipsTargetStreamer.cpp:879
llvm::MipsTargetStreamer::emitDirectiveSetNoMt
virtual void emitDirectiveSetNoMt()
Definition: MipsTargetStreamer.cpp:63
llvm::MipsABIInfo
Definition: MipsABIInfo.h:22
llvm::MipsTargetAsmStreamer::MipsTargetAsmStreamer
MipsTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS)
Definition: MipsTargetStreamer.cpp:383
llvm::MipsTargetELFStreamer::emitMipsAbiFlags
void emitMipsAbiFlags()
Definition: MipsTargetStreamer.cpp:1319
llvm::MipsTargetStreamer::emitDirectiveEnt
virtual void emitDirectiveEnt(const MCSymbol &Symbol)
Definition: MipsTargetStreamer.cpp:76
llvm::MipsTargetAsmStreamer::emitDirectiveNaNLegacy
void emitDirectiveNaNLegacy() override
Definition: MipsTargetStreamer.cpp:504
P
This currently compiles esp xmm0 movsd esp eax eax esp ret We should use not the dag combiner This is because dagcombine2 needs to be able to see through the X86ISD::Wrapper which DAGCombine can t really do The code for turning x load into a single vector load is target independent and should be moved to the dag combiner The code for turning x load into a vector load can only handle a direct load from a global or a direct load from the stack It should be generalized to handle any load from P
Definition: README-SSE.txt:411
llvm::MipsTargetStreamer::emitDirectiveSetMips16
virtual void emitDirectiveSetMips16()
Definition: MipsTargetStreamer.cpp:54
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoVirt
void emitDirectiveSetNoVirt() override
Definition: MipsTargetStreamer.cpp:462
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips5
void emitDirectiveSetMips5() override
Definition: MipsTargetStreamer.cpp:559
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoMicroMips
void emitDirectiveSetNoMicroMips() override
Definition: MipsTargetStreamer.cpp:392
llvm::MipsTargetELFStreamer::emitDirectiveEnt
void emitDirectiveEnt(const MCSymbol &Symbol) override
Definition: MipsTargetStreamer.cpp:1062
llvm::MipsTargetELFStreamer::MipsTargetELFStreamer
MipsTargetELFStreamer(MCStreamer &S, const MCSubtargetInfo &STI)
Definition: MipsTargetStreamer.cpp:800
llvm::MipsTargetStreamer::emitDirectiveSetArch
virtual void emitDirectiveSetArch(StringRef Arch)
Definition: MipsTargetStreamer.cpp:88
llvm::MipsTargetStreamer::emitDirectiveModuleVirt
virtual void emitDirectiveModuleVirt()
Definition: MipsTargetStreamer.cpp:162
llvm::MipsTargetStreamer::emitDirectiveModuleNoCRC
virtual void emitDirectiveModuleNoCRC()
Definition: MipsTargetStreamer.cpp:161
llvm::MipsTargetStreamer::emitRRI
void emitRRI(unsigned Opcode, unsigned Reg0, unsigned Reg1, int16_t Imm, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:245
llvm::MipsTargetAsmStreamer
Definition: MipsTargetStreamer.h:207
llvm::MipsTargetStreamer::setPic
virtual void setPic(bool Value)
Definition: MipsTargetStreamer.h:27
llvm::MipsTargetAsmStreamer::emitDirectiveModuleNoGINV
void emitDirectiveModuleNoGINV() override
Definition: MipsTargetStreamer.cpp:795
llvm::MipsTargetAsmStreamer::emitDirectiveCpRestore
bool emitDirectiveCpRestore(int Offset, function_ref< unsigned()> GetATReg, SMLoc IDLoc, const MCSubtargetInfo *STI) override
Emit a .cprestore directive.
Definition: MipsTargetStreamer.cpp:698
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips32R3
void emitDirectiveSetMips32R3() override
Definition: MipsTargetStreamer.cpp:574
llvm::MipsTargetStreamer::emitFrame
virtual void emitFrame(unsigned StackReg, unsigned StackSize, unsigned ReturnReg)
Definition: MipsTargetStreamer.cpp:83
llvm::MipsTargetStreamer::emitDirectiveModuleNoGINV
virtual void emitDirectiveModuleNoGINV()
Definition: MipsTargetStreamer.cpp:165
llvm::MipsTargetStreamer::emitDSLL
void emitDSLL(unsigned DstReg, unsigned SrcReg, int16_t ShiftAmount, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:273
llvm::MipsTargetStreamer::emitDirectiveModuleCRC
virtual void emitDirectiveModuleCRC()
Definition: MipsTargetStreamer.cpp:160
llvm::MipsTargetELFStreamer::emitDirectiveCpLoad
void emitDirectiveCpLoad(unsigned RegNo) override
Definition: MipsTargetStreamer.cpp:1153
llvm::MipsTargetStreamer::emitDirectiveModuleFP
virtual void emitDirectiveModuleFP()
Definition: MipsTargetStreamer.cpp:151
llvm::MipsABIFlagsSection::setAllFromPredicates
void setAllFromPredicates(const PredicateLibrary &P)
Definition: MipsABIFlagsSection.h:193
llvm::MipsTargetStreamer::emitDirectiveSetMips3D
virtual void emitDirectiveSetMips3D()
Definition: MipsTargetStreamer.cpp:118
llvm::MipsTargetStreamer::emitDirectiveSetMips32R5
virtual void emitDirectiveSetMips32R5()
Definition: MipsTargetStreamer.cpp:100
llvm::MipsTargetAsmStreamer::emitDirectiveOptionPic0
void emitDirectiveOptionPic0() override
Definition: MipsTargetStreamer.cpp:508
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoMt
void emitDirectiveSetNoMt() override
Definition: MipsTargetStreamer.cpp:442
llvm::MipsTargetStreamer::emitDirectiveInsn
virtual void emitDirectiveInsn()
Definition: MipsTargetStreamer.cpp:82
llvm::MipsTargetStreamer::emitDirectiveModuleNoVirt
virtual void emitDirectiveModuleNoVirt()
Definition: MipsTargetStreamer.cpp:163
llvm::MipsTargetStreamer::emitDirectiveSetNoAt
virtual void emitDirectiveSetNoAt()
Definition: MipsTargetStreamer.cpp:74
STLExtras.h
llvm::MipsTargetELFStreamer::emitDirectiveSetMicroMips
void emitDirectiveSetMicroMips() override
Definition: MipsTargetStreamer.cpp:980
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoGINV
void emitDirectiveSetNoGINV() override
Definition: MipsTargetStreamer.cpp:472
llvm::MipsTargetELFStreamer::isMicroMipsEnabled
bool isMicroMipsEnabled() const
Definition: MipsTargetStreamer.h:318
llvm::MipsTargetStreamer::emitDirectiveSetAt
virtual void emitDirectiveSetAt()
Definition: MipsTargetStreamer.cpp:70
llvm::MipsTargetStreamer::emitDirectiveSetNoMacro
virtual void emitDirectiveSetNoMacro()
Definition: MipsTargetStreamer.cpp:59
llvm::MipsTargetStreamer::MipsTargetStreamer
MipsTargetStreamer(MCStreamer &S)
Definition: MipsTargetStreamer.cpp:47
llvm::MipsTargetAsmStreamer::emitDirectiveSetDsp
void emitDirectiveSetDsp() override
Definition: MipsTargetStreamer.cpp:614
llvm::MipsTargetStreamer::emitRRRX
void emitRRRX(unsigned Opcode, unsigned Reg0, unsigned Reg1, unsigned Reg2, MCOperand Op3, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:232
llvm::MipsTargetStreamer::emitDirectiveCpLoad
virtual void emitDirectiveCpLoad(unsigned RegNo)
Definition: MipsTargetStreamer.cpp:121
MCELFStreamer.h
llvm::MipsTargetELFStreamer::finish
void finish() override
Definition: MipsTargetStreamer.cpp:890
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips16
void emitDirectiveSetMips16() override
Definition: MipsTargetStreamer.cpp:397
llvm::MipsTargetAsmStreamer::emitDirectiveSetPop
void emitDirectiveSetPop() override
Definition: MipsTargetStreamer.cpp:639
llvm::MipsTargetStreamer::emitDirectiveSetNoMips16
virtual void emitDirectiveSetNoMips16()
Definition: MipsTargetStreamer.cpp:55
llvm::MipsTargetStreamer::emitDirectiveSetNoOddSPReg
virtual void emitDirectiveSetNoOddSPReg()
Definition: MipsTargetStreamer.cpp:171
llvm::MipsTargetStreamer::FrameReg
unsigned FrameReg
Definition: MipsTargetStreamer.h:198
llvm::MipsTargetStreamer::emitDirectiveSetMacro
virtual void emitDirectiveSetMacro()
Definition: MipsTargetStreamer.cpp:58
llvm::MipsTargetStreamer::ABI
std::optional< MipsABIInfo > ABI
Definition: MipsTargetStreamer.h:185
llvm::MipsTargetStreamer::FrameInfoSet
bool FrameInfoSet
Definition: MipsTargetStreamer.h:196
llvm::MipsTargetStreamer::getABIFlagsSection
MipsABIFlagsSection & getABIFlagsSection()
Definition: MipsTargetStreamer.h:178
llvm::MCStreamer
Streaming machine code generation interface.
Definition: MCStreamer.h:213
llvm::MipsTargetELFStreamer::emitDirectiveCpAdd
void emitDirectiveCpAdd(unsigned RegNo) override
Definition: MipsTargetStreamer.cpp:1142
llvm::MipsTargetELFStreamer::emitDirectiveNaN2008
void emitDirectiveNaN2008() override
Definition: MipsTargetStreamer.cpp:1076
llvm::MipsTargetAsmStreamer::emitDirectiveSetArch
void emitDirectiveSetArch(StringRef Arch) override
Definition: MipsTargetStreamer.cpp:529
llvm::MCELFStreamer
Definition: MCELFStreamer.h:31
llvm::MipsTargetAsmStreamer::emitDirectiveSetAt
void emitDirectiveSetAt() override
Definition: MipsTargetStreamer.cpp:477
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips0
void emitDirectiveSetMips0() override
Definition: MipsTargetStreamer.cpp:534
llvm::SMLoc
Represents a location in source code.
Definition: SMLoc.h:23
llvm::MipsTargetStreamer::emitDirectiveCpsetup
virtual void emitDirectiveCpsetup(unsigned RegNo, int RegOrOffset, const MCSymbol &Sym, bool IsReg)
Definition: MipsTargetStreamer.cpp:145
llvm::MipsTargetStreamer::emitMask
virtual void emitMask(unsigned CPUBitmask, int CPUTopSavedRegOff)
Definition: MipsTargetStreamer.cpp:85
llvm::MipsTargetStreamer::GPRInfoSet
bool GPRInfoSet
Definition: MipsTargetStreamer.h:188
llvm::MipsTargetELFStreamer::emitDirectiveSetMips16
void emitDirectiveSetMips16() override
Definition: MipsTargetStreamer.cpp:997
llvm::MipsTargetStreamer::emitDirectiveSetGINV
virtual void emitDirectiveSetGINV()
Definition: MipsTargetStreamer.cpp:68
llvm::MipsTargetAsmStreamer::emitDirectiveCpLocal
void emitDirectiveCpLocal(unsigned RegNo) override
Definition: MipsTargetStreamer.cpp:692
llvm::MipsTargetAsmStreamer::emitDirectiveModuleVirt
void emitDirectiveModuleVirt() override
Definition: MipsTargetStreamer.cpp:783
llvm::MipsTargetAsmStreamer::emitDirectiveModuleHardFloat
void emitDirectiveModuleHardFloat() override
Definition: MipsTargetStreamer.cpp:767
llvm::MipsTargetStreamer::emitDirectiveSetMips64R3
virtual void emitDirectiveSetMips64R3()
Definition: MipsTargetStreamer.cpp:104
llvm::MipsTargetStreamer::emitDirectiveModuleGINV
virtual void emitDirectiveModuleGINV()
Definition: MipsTargetStreamer.cpp:164
llvm::MipsTargetAsmStreamer::emitDirectiveAbiCalls
void emitDirectiveAbiCalls() override
Definition: MipsTargetStreamer.cpp:500
llvm::MipsTargetStreamer::emitDirectiveSetOddSPReg
virtual void emitDirectiveSetOddSPReg()
Definition: MipsTargetStreamer.cpp:170
llvm::MipsTargetStreamer::emitDirectiveSetNoDsp
virtual void emitDirectiveSetNoDsp()
Definition: MipsTargetStreamer.cpp:117
llvm::MipsTargetStreamer::emitDirectiveSetNoReorder
virtual void emitDirectiveSetNoReorder()
Definition: MipsTargetStreamer.cpp:57
llvm::MipsTargetELFStreamer::emitDirectiveEnd
void emitDirectiveEnd(StringRef Name) override
Definition: MipsTargetStreamer.cpp:1013
llvm::MCTargetStreamer
Target specific streamer interface.
Definition: MCStreamer.h:94
llvm::MipsTargetAsmStreamer::emitFMask
void emitFMask(unsigned FPUBitmask, int FPUTopSavedRegOff) override
Definition: MipsTargetStreamer.cpp:673
llvm::MipsTargetStreamer::emitDirectiveSetMips3
virtual void emitDirectiveSetMips3()
Definition: MipsTargetStreamer.cpp:94
llvm::MipsTargetAsmStreamer::emitDirectiveSetMsa
void emitDirectiveSetMsa() override
Definition: MipsTargetStreamer.cpp:427
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips32R5
void emitDirectiveSetMips32R5() override
Definition: MipsTargetStreamer.cpp:579
llvm::MipsTargetStreamer::emitDirectiveModuleSoftFloat
virtual void emitDirectiveModuleSoftFloat()
Definition: MipsTargetStreamer.cpp:157
llvm::MipsTargetStreamer::emitDirectiveSetDspr2
virtual void emitDirectiveSetDspr2()
Definition: MipsTargetStreamer.cpp:116
llvm::MipsTargetStreamer::emitDirectiveOptionPic2
virtual void emitDirectiveOptionPic2()
Definition: MipsTargetStreamer.cpp:81
llvm::MipsTargetELFStreamer
Definition: MipsTargetStreamer.h:312
llvm::MipsTargetStreamer::emitEmptyDelaySlot
void emitEmptyDelaySlot(bool hasShortDelaySlot, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:284
llvm::MipsTargetStreamer::emitDirectiveCpRestore
virtual bool emitDirectiveCpRestore(int Offset, function_ref< unsigned()> GetATReg, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:139
llvm::MipsTargetStreamer::emitDirectiveSetMt
virtual void emitDirectiveSetMt()
Definition: MipsTargetStreamer.cpp:62
llvm::MipsTargetELFStreamer::emitDirectiveSetNoMicroMips
void emitDirectiveSetNoMicroMips() override
Definition: MipsTargetStreamer.cpp:985
llvm::MipsTargetAsmStreamer::emitDirectiveSetMt
void emitDirectiveSetMt() override
Definition: MipsTargetStreamer.cpp:437
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips64R3
void emitDirectiveSetMips64R3() override
Definition: MipsTargetStreamer.cpp:599
llvm::MipsTargetStreamer::emitDirectiveSetMips64
virtual void emitDirectiveSetMips64()
Definition: MipsTargetStreamer.cpp:102
llvm::function_ref
An efficient, type-erasing, non-owning reference to a callable.
Definition: STLFunctionalExtras.h:36
llvm::MipsTargetStreamer::emitStoreWithImmOffset
void emitStoreWithImmOffset(unsigned Opcode, unsigned SrcReg, unsigned BaseReg, int64_t Offset, function_ref< unsigned()> GetATReg, SMLoc IDLoc, const MCSubtargetInfo *STI)
Emit a store instruction with an offset.
Definition: MipsTargetStreamer.cpp:314
llvm::MipsTargetStreamer::emitDirectiveSetMips64R6
virtual void emitDirectiveSetMips64R6()
Definition: MipsTargetStreamer.cpp:106
llvm::MipsTargetAsmStreamer::emitDirectiveModuleNoCRC
void emitDirectiveModuleNoCRC() override
Definition: MipsTargetStreamer.cpp:779
llvm::MipsTargetStreamer::emitDirectiveSetNoCRC
virtual void emitDirectiveSetNoCRC()
Definition: MipsTargetStreamer.cpp:65
llvm::MipsTargetStreamer::GPRBitMask
unsigned GPRBitMask
Definition: MipsTargetStreamer.h:189
llvm::MipsTargetELFStreamer::emitMask
void emitMask(unsigned CPUBitmask, int CPUTopSavedRegOff) override
Definition: MipsTargetStreamer.cpp:1128
llvm::MipsTargetStreamer::emitAddu
void emitAddu(unsigned DstReg, unsigned SrcReg, unsigned TrgReg, bool Is64Bit, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:266
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoMsa
void emitDirectiveSetNoMsa() override
Definition: MipsTargetStreamer.cpp:432
llvm::MipsTargetAsmStreamer::emitDirectiveSetCRC
void emitDirectiveSetCRC() override
Definition: MipsTargetStreamer.cpp:447
llvm::MipsTargetStreamer::reallowModuleDirective
void reallowModuleDirective()
Definition: MipsTargetStreamer.h:167
llvm::MipsTargetStreamer::FPRBitMask
unsigned FPRBitMask
Definition: MipsTargetStreamer.h:193
llvm::MipsTargetELFStreamer::emitFrame
void emitFrame(unsigned StackReg, unsigned StackSize, unsigned ReturnReg) override
Definition: MipsTargetStreamer.cpp:1117
llvm::MipsTargetStreamer::FPRInfoSet
bool FPRInfoSet
Definition: MipsTargetStreamer.h:192
llvm::MipsTargetAsmStreamer::emitDirectiveModuleGINV
void emitDirectiveModuleGINV() override
Definition: MipsTargetStreamer.cpp:791
MCRegisterInfo.h
llvm::MipsTargetStreamer::emitDirectiveNaN2008
virtual void emitDirectiveNaN2008()
Definition: MipsTargetStreamer.cpp:78
llvm::MipsTargetELFStreamer::emitDirectiveCpreturn
void emitDirectiveCpreturn(unsigned SaveLocation, bool SaveLocationIsRegister) override
Definition: MipsTargetStreamer.cpp:1295
llvm::MipsTargetAsmStreamer::emitDirectiveSetVirt
void emitDirectiveSetVirt() override
Definition: MipsTargetStreamer.cpp:457
llvm::MipsTargetStreamer::emitDirectiveSetMips64R5
virtual void emitDirectiveSetMips64R5()
Definition: MipsTargetStreamer.cpp:105
llvm::MipsTargetAsmStreamer::emitDirectiveCpAdd
void emitDirectiveCpAdd(unsigned RegNo) override
Definition: MipsTargetStreamer.cpp:680
llvm::formatted_raw_ostream
formatted_raw_ostream - A raw_ostream that wraps another one and keeps track of line and column posit...
Definition: FormattedStream.h:30
assert
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
llvm::MipsTargetELFStreamer::emitFMask
void emitFMask(unsigned FPUBitmask, int FPUTopSavedRegOff) override
Definition: MipsTargetStreamer.cpp:1135
llvm::MipsTargetStreamer::emitRRX
void emitRRX(unsigned Opcode, unsigned Reg0, unsigned Reg1, MCOperand Op2, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:214
llvm::MipsTargetELFStreamer::setPic
void setPic(bool Value) override
Definition: MipsTargetStreamer.h:322
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips64
void emitDirectiveSetMips64() override
Definition: MipsTargetStreamer.cpp:589
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoCRC
void emitDirectiveSetNoCRC() override
Definition: MipsTargetStreamer.cpp:452
llvm::MipsTargetAsmStreamer::emitDirectiveModuleSoftFloat
void emitDirectiveModuleSoftFloat() override
Definition: MipsTargetStreamer.cpp:763
llvm::MipsTargetStreamer::emitDirectiveSetFp
virtual void emitDirectiveSetFp(MipsABIFlagsSection::FpABIKind Value)
Definition: MipsTargetStreamer.cpp:166
llvm::MipsTargetStreamer::emitDirectiveSetMips0
virtual void emitDirectiveSetMips0()
Definition: MipsTargetStreamer.cpp:91
llvm::MipsTargetStreamer::emitDirectiveAbiCalls
virtual void emitDirectiveAbiCalls()
Definition: MipsTargetStreamer.cpp:77
llvm::MipsTargetStreamer::emitDirectiveNaNLegacy
virtual void emitDirectiveNaNLegacy()
Definition: MipsTargetStreamer.cpp:79
llvm::MipsTargetStreamer::emitRI
void emitRI(unsigned Opcode, unsigned Reg0, int32_t Imm, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:194
llvm::MipsTargetAsmStreamer::emitDirectiveSetAtWithArg
void emitDirectiveSetAtWithArg(unsigned RegNo) override
Definition: MipsTargetStreamer.cpp:482
llvm::MipsTargetAsmStreamer::emitDirectiveModuleNoVirt
void emitDirectiveModuleNoVirt() override
Definition: MipsTargetStreamer.cpp:787
hasShortDelaySlot
static bool hasShortDelaySlot(MCInst &Inst)
Definition: MipsAsmParser.cpp:1761
llvm::MipsTargetStreamer::isModuleDirectiveAllowed
bool isModuleDirectiveAllowed()
Definition: MipsTargetStreamer.h:168
llvm::MipsTargetStreamer::FPROffset
int FPROffset
Definition: MipsTargetStreamer.h:194
llvm::MipsTargetAsmStreamer::emitDirectiveSetGINV
void emitDirectiveSetGINV() override
Definition: MipsTargetStreamer.cpp:467
llvm::MipsTargetELFStreamer::emitDirectiveOptionPic2
void emitDirectiveOptionPic2() override
Definition: MipsTargetStreamer.cpp:1099
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:50
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips32R6
void emitDirectiveSetMips32R6() override
Definition: MipsTargetStreamer.cpp:584
llvm::MipsTargetStreamer::updateABIInfo
void updateABIInfo(const PredicateLibrary &P)
Definition: MipsTargetStreamer.h:173
llvm::MipsTargetELFStreamer::setUsesMicroMips
void setUsesMicroMips() override
Definition: MipsTargetStreamer.cpp:990
llvm::MipsTargetAsmStreamer::emitDirectiveOptionPic2
void emitDirectiveOptionPic2() override
Definition: MipsTargetStreamer.cpp:512
llvm::MipsTargetAsmStreamer::emitDirectiveModuleOddSPReg
void emitDirectiveModuleOddSPReg() override
Definition: MipsTargetStreamer.cpp:747
llvm::MipsTargetELFStreamer::emitDirectiveAbiCalls
void emitDirectiveAbiCalls() override
Definition: MipsTargetStreamer.cpp:1069
S
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
Definition: README.txt:210
llvm::MipsTargetStreamer::GPROffset
int GPROffset
Definition: MipsTargetStreamer.h:190
llvm::MipsTargetStreamer::emitDirectiveSetMips2
virtual void emitDirectiveSetMips2()
Definition: MipsTargetStreamer.cpp:93
llvm::MipsTargetStreamer::emitDirectiveModuleOddSPReg
virtual void emitDirectiveModuleOddSPReg()
Definition: MipsTargetStreamer.cpp:153
llvm::MipsTargetStreamer::emitDirectiveCpAdd
virtual void emitDirectiveCpAdd(unsigned RegNo)
Definition: MipsTargetStreamer.cpp:120
llvm::MipsTargetStreamer::emitDirectiveSetNoMsa
virtual void emitDirectiveSetNoMsa()
Definition: MipsTargetStreamer.cpp:61
llvm::MipsTargetStreamer::emitDirectiveSetNoGINV
virtual void emitDirectiveSetNoGINV()
Definition: MipsTargetStreamer.cpp:69
llvm::MipsTargetAsmStreamer::emitDirectiveSetOddSPReg
void emitDirectiveSetOddSPReg() override
Definition: MipsTargetStreamer.cpp:753
llvm::MipsTargetAsmStreamer::emitDirectiveEnd
void emitDirectiveEnd(StringRef Name) override
Definition: MipsTargetStreamer.cpp:492
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips32R2
void emitDirectiveSetMips32R2() override
Definition: MipsTargetStreamer.cpp:569
llvm::MipsTargetStreamer::emitFMask
virtual void emitFMask(unsigned FPUBitmask, int FPUTopSavedRegOff)
Definition: MipsTargetStreamer.cpp:86
llvm::MipsTargetStreamer::emitDirectiveSetCRC
virtual void emitDirectiveSetCRC()
Definition: MipsTargetStreamer.cpp:64
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoMips3D
void emitDirectiveSetNoMips3D() override
Definition: MipsTargetStreamer.cpp:634
llvm::MipsTargetAsmStreamer::emitDirectiveSetMacro
void emitDirectiveSetMacro() override
Definition: MipsTargetStreamer.cpp:417
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoAt
void emitDirectiveSetNoAt() override
Definition: MipsTargetStreamer.cpp:487
llvm::MipsABIFlagsSection
Definition: MipsABIFlagsSection.h:21
llvm::MipsTargetELFStreamer::emitDirectiveCpLocal
void emitDirectiveCpLocal(unsigned RegNo) override
Definition: MipsTargetStreamer.cpp:1210
llvm::MipsTargetStreamer::emitDirectiveSetMicroMips
virtual void emitDirectiveSetMicroMips()
Definition: MipsTargetStreamer.cpp:51
llvm::MipsTargetStreamer::emitRRR
void emitRRR(unsigned Opcode, unsigned Reg0, unsigned Reg1, unsigned Reg2, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:226
llvm::MipsTargetELFStreamer::emitAssignment
void emitAssignment(MCSymbol *Symbol, const MCExpr *Value) override
Definition: MipsTargetStreamer.cpp:962
llvm::MipsTargetStreamer::forbidModuleDirective
void forbidModuleDirective()
Definition: MipsTargetStreamer.h:166
llvm::MipsTargetStreamer::emitDirectiveCpLocal
virtual void emitDirectiveCpLocal(unsigned RegNo)
Definition: MipsTargetStreamer.cpp:122
llvm::MipsTargetAsmStreamer::emitDirectiveSetPush
void emitDirectiveSetPush() override
Definition: MipsTargetStreamer.cpp:644
llvm::MipsTargetStreamer::emitDirectiveSetMips1
virtual void emitDirectiveSetMips1()
Definition: MipsTargetStreamer.cpp:92
MipsABIInfo.h
llvm::MipsTargetStreamer::emitRRIII
void emitRRIII(unsigned Opcode, unsigned Reg0, unsigned Reg1, int16_t Imm0, int16_t Imm1, int16_t Imm2, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:251
llvm::MipsTargetStreamer
Definition: MipsTargetStreamer.h:23
llvm::MipsTargetStreamer::emitDirectiveSetHardFloat
virtual void emitDirectiveSetHardFloat()
Definition: MipsTargetStreamer.cpp:112
llvm::TargetStackID::Value
Value
Definition: TargetFrameLowering.h:27
llvm::MipsTargetStreamer::emitDirectiveSetMips32R6
virtual void emitDirectiveSetMips32R6()
Definition: MipsTargetStreamer.cpp:101
llvm::MipsTargetStreamer::emitDirectiveCpreturn
virtual void emitDirectiveCpreturn(unsigned SaveLocation, bool SaveLocationIsRegister)
Definition: MipsTargetStreamer.cpp:148
llvm::MipsTargetStreamer::setUsesMicroMips
virtual void setUsesMicroMips()
Definition: MipsTargetStreamer.cpp:53
llvm::MipsTargetAsmStreamer::emitDirectiveSetSoftFloat
void emitDirectiveSetSoftFloat() override
Definition: MipsTargetStreamer.cpp:649
llvm::MipsABIFlagsSection::FpABIKind
FpABIKind
Definition: MipsABIFlagsSection.h:23
llvm::MipsTargetStreamer::emitDirectiveSetMips4
virtual void emitDirectiveSetMips4()
Definition: MipsTargetStreamer.cpp:95
llvm::MipsTargetAsmStreamer::emitDirectiveEnt
void emitDirectiveEnt(const MCSymbol &Symbol) override
Definition: MipsTargetStreamer.cpp:496
llvm::MipsTargetStreamer::emitNop
void emitNop(SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:300
llvm::MipsTargetAsmStreamer::emitDirectiveCpLoad
void emitDirectiveCpLoad(unsigned RegNo) override
Definition: MipsTargetStreamer.cpp:686
llvm::MipsTargetELFStreamer::emitDirectiveSetNoReorder
void emitDirectiveSetNoReorder() override
Definition: MipsTargetStreamer.cpp:1005
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips64R2
void emitDirectiveSetMips64R2() override
Definition: MipsTargetStreamer.cpp:594
llvm::RISCVMatInt::Imm
@ Imm
Definition: RISCVMatInt.h:23
llvm::MipsTargetAsmStreamer::emitDirectiveCpreturn
void emitDirectiveCpreturn(unsigned SaveLocation, bool SaveLocationIsRegister) override
Definition: MipsTargetStreamer.cpp:725
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips32
void emitDirectiveSetMips32() override
Definition: MipsTargetStreamer.cpp:564
llvm::MipsTargetStreamer::emitR
void emitR(unsigned Opcode, unsigned Reg0, SMLoc IDLoc, const MCSubtargetInfo *STI)
Definition: MipsTargetStreamer.cpp:175
llvm::MipsTargetAsmStreamer::emitDirectiveInsn
void emitDirectiveInsn() override
Definition: MipsTargetStreamer.cpp:516
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoMips16
void emitDirectiveSetNoMips16() override
Definition: MipsTargetStreamer.cpp:402
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips3D
void emitDirectiveSetMips3D() override
Definition: MipsTargetStreamer.cpp:629
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoMacro
void emitDirectiveSetNoMacro() override
Definition: MipsTargetStreamer.cpp:422
llvm::MipsTargetAsmStreamer::emitDirectiveSetDspr2
void emitDirectiveSetDspr2() override
Definition: MipsTargetStreamer.cpp:619
llvm::MipsTargetELFStreamer::emitDirectiveCpsetup
void emitDirectiveCpsetup(unsigned RegNo, int RegOrOffset, const MCSymbol &Sym, bool IsReg) override
Definition: MipsTargetStreamer.cpp:1236
llvm::MipsTargetAsmStreamer::emitMask
void emitMask(unsigned CPUBitmask, int CPUTopSavedRegOff) override
Definition: MipsTargetStreamer.cpp:666
llvm::MipsTargetStreamer::emitDirectiveSetPop
virtual void emitDirectiveSetPop()
Definition: MipsTargetStreamer.cpp:107
llvm::MipsTargetStreamer::emitDirectiveEnd
virtual void emitDirectiveEnd(StringRef Name)
Definition: MipsTargetStreamer.cpp:75
llvm::MipsTargetAsmStreamer::emitDirectiveSetHardFloat
void emitDirectiveSetHardFloat() override
Definition: MipsTargetStreamer.cpp:654
llvm::MipsTargetStreamer::emitDirectiveModuleHardFloat
virtual void emitDirectiveModuleHardFloat()
Definition: MipsTargetStreamer.cpp:158
MCStreamer.h
llvm::MipsTargetStreamer::ABIFlagsSection
MipsABIFlagsSection ABIFlagsSection
Definition: MipsTargetStreamer.h:186
llvm::MipsTargetELFStreamer::emitDirectiveOptionPic0
void emitDirectiveOptionPic0() override
Definition: MipsTargetStreamer.cpp:1090
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips4
void emitDirectiveSetMips4() override
Definition: MipsTargetStreamer.cpp:554
llvm::MipsTargetStreamer::emitDirectiveSetDsp
virtual void emitDirectiveSetDsp()
Definition: MipsTargetStreamer.cpp:115
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoOddSPReg
void emitDirectiveSetNoOddSPReg() override
Definition: MipsTargetStreamer.cpp:758
llvm::MipsTargetAsmStreamer::emitDirectiveModuleCRC
void emitDirectiveModuleCRC() override
Definition: MipsTargetStreamer.cpp:775
llvm::MipsTargetStreamer::emitDirectiveSetMsa
virtual void emitDirectiveSetMsa()
Definition: MipsTargetStreamer.cpp:60
llvm::MipsTargetStreamer::getABI
const MipsABIInfo & getABI() const
Definition: MipsTargetStreamer.h:179
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips64R6
void emitDirectiveSetMips64R6() override
Definition: MipsTargetStreamer.cpp:609
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips3
void emitDirectiveSetMips3() override
Definition: MipsTargetStreamer.cpp:549
llvm::MipsTargetAsmStreamer::emitDirectiveSetMicroMips
void emitDirectiveSetMicroMips() override
Definition: MipsTargetStreamer.cpp:387
llvm::MCOperand
Instances of this class represent operands of the MCInst class.
Definition: MCInst.h:36
llvm::MipsTargetELFStreamer::emitDirectiveInsn
void emitDirectiveInsn() override
Definition: MipsTargetStreamer.cpp:1111
llvm::MipsTargetStreamer::emitDirectiveSetReorder
virtual void emitDirectiveSetReorder()
Definition: MipsTargetStreamer.cpp:56
llvm::MipsTargetELFStreamer::getStreamer
MCELFStreamer & getStreamer()
Definition: MipsTargetStreamer.cpp:976
MipsABIFlagsSection.h
llvm::MipsTargetStreamer::emitDirectiveSetSoftFloat
virtual void emitDirectiveSetSoftFloat()
Definition: MipsTargetStreamer.cpp:109
llvm::MipsTargetStreamer::emitDirectiveSetMips32R2
virtual void emitDirectiveSetMips32R2()
Definition: MipsTargetStreamer.cpp:98
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips1
void emitDirectiveSetMips1() override
Definition: MipsTargetStreamer.cpp:539
llvm::MipsTargetStreamer::emitDirectiveSetMips32
virtual void emitDirectiveSetMips32()
Definition: MipsTargetStreamer.cpp:97
llvm::MipsTargetAsmStreamer::emitDirectiveModuleMT
void emitDirectiveModuleMT() override
Definition: MipsTargetStreamer.cpp:771
llvm::MipsTargetStreamer::emitDirectiveSetNoMicroMips
virtual void emitDirectiveSetNoMicroMips()
Definition: MipsTargetStreamer.cpp:52
llvm::MCSubtargetInfo
Generic base class for all target subtargets.
Definition: MCSubtargetInfo.h:76
llvm::MipsTargetStreamer::GPReg
unsigned GPReg
Definition: MipsTargetStreamer.h:199
llvm::MipsTargetStreamer::emitDirectiveSetPush
virtual void emitDirectiveSetPush()
Definition: MipsTargetStreamer.cpp:108
llvm::Value
LLVM Value Representation.
Definition: Value.h:74
llvm::MCExpr
Base class for the full range of assembler expressions which are needed for parsing.
Definition: MCExpr.h:35
llvm::MipsTargetAsmStreamer::emitDirectiveSetMips2
void emitDirectiveSetMips2() override
Definition: MipsTargetStreamer.cpp:544
llvm::MipsTargetStreamer::emitDirectiveSetMips64R2
virtual void emitDirectiveSetMips64R2()
Definition: MipsTargetStreamer.cpp:103
llvm::MipsTargetAsmStreamer::emitDirectiveNaN2008
void emitDirectiveNaN2008() override
Definition: MipsTargetStreamer.cpp:502
llvm::MipsTargetStreamer::FrameOffset
int FrameOffset
Definition: MipsTargetStreamer.h:197
llvm::MipsTargetAsmStreamer::emitDirectiveSetNoDsp
void emitDirectiveSetNoDsp() override
Definition: MipsTargetStreamer.cpp:624
llvm::MipsTargetStreamer::ReturnReg
unsigned ReturnReg
Definition: MipsTargetStreamer.h:200
llvm::MipsTargetELFStreamer::emitDirectiveNaNLegacy
void emitDirectiveNaNLegacy() override
Definition: MipsTargetStreamer.cpp:1083
llvm::MipsTargetStreamer::emitDirectiveSetAtWithArg
virtual void emitDirectiveSetAtWithArg(unsigned RegNo)
Definition: MipsTargetStreamer.cpp:71
llvm::MipsTargetAsmStreamer::emitFrame
void emitFrame(unsigned StackReg, unsigned StackSize, unsigned ReturnReg) override
Definition: MipsTargetStreamer.cpp:521