OLD | NEW |
1 //===- subzero/src/IceInstMIPS32.h - MIPS32 machine instrs --*- C++ -*-=== // | 1 //===- subzero/src/IceInstMIPS32.h - MIPS32 machine instrs --*- C++ -*-=== // |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 /// | 9 /// |
10 /// \file | 10 /// \file |
11 /// \brief Declares the InstMIPS32 and OperandMIPS32 classes and their | 11 /// \brief Declares the InstMIPS32 and OperandMIPS32 classes and their |
12 /// subclasses. | 12 /// subclasses. |
13 /// | 13 /// |
14 /// This represents the machine instructions and operands used for MIPS32 code | 14 /// This represents the machine instructions and operands used for MIPS32 code |
15 /// selection. | 15 /// selection. |
16 /// | 16 /// |
17 //===----------------------------------------------------------------------===// | 17 //===----------------------------------------------------------------------===// |
18 | 18 |
19 #ifndef SUBZERO_SRC_ICEINSTMIPS32_H | 19 #ifndef SUBZERO_SRC_ICEINSTMIPS32_H |
20 #define SUBZERO_SRC_ICEINSTMIPS32_H | 20 #define SUBZERO_SRC_ICEINSTMIPS32_H |
21 | 21 |
22 #include "IceDefs.h" | 22 #include "IceDefs.h" |
23 #include "IceInst.h" | 23 #include "IceInst.h" |
24 #include "IceInstMIPS32.def" | 24 #include "IceInstMIPS32.def" |
25 #include "IceOperand.h" | 25 #include "IceOperand.h" |
26 | 26 |
27 namespace Ice { | 27 namespace Ice { |
| 28 namespace MIPS32 { |
28 | 29 |
29 class TargetMIPS32; | 30 class TargetMIPS32; |
30 | 31 |
31 /// OperandMips32 extends the Operand hierarchy. | 32 /// OperandMips32 extends the Operand hierarchy. |
32 // | 33 // |
33 class OperandMIPS32 : public Operand { | 34 class OperandMIPS32 : public Operand { |
34 OperandMIPS32() = delete; | 35 OperandMIPS32() = delete; |
35 OperandMIPS32(const OperandMIPS32 &) = delete; | 36 OperandMIPS32(const OperandMIPS32 &) = delete; |
36 OperandMIPS32 &operator=(const OperandMIPS32 &) = delete; | 37 OperandMIPS32 &operator=(const OperandMIPS32 &) = delete; |
37 | 38 |
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 private: | 389 private: |
389 InstMIPS32Mov(Cfg *Func, Variable *Dest, Operand *Src); | 390 InstMIPS32Mov(Cfg *Func, Variable *Dest, Operand *Src); |
390 | 391 |
391 void emitMultiDestSingleSource(const Cfg *Func) const; | 392 void emitMultiDestSingleSource(const Cfg *Func) const; |
392 void emitSingleDestMultiSource(const Cfg *Func) const; | 393 void emitSingleDestMultiSource(const Cfg *Func) const; |
393 void emitSingleDestSingleSource(const Cfg *Func) const; | 394 void emitSingleDestSingleSource(const Cfg *Func) const; |
394 | 395 |
395 Variable *DestHi = nullptr; | 396 Variable *DestHi = nullptr; |
396 }; | 397 }; |
397 | 398 |
| 399 } // end of namespace MIPS32 |
398 } // end of namespace Ice | 400 } // end of namespace Ice |
399 | 401 |
400 #endif // SUBZERO_SRC_ICEINSTMIPS32_H | 402 #endif // SUBZERO_SRC_ICEINSTMIPS32_H |
OLD | NEW |