Mercurial > hg > CbC > CbC_llvm
comparison lib/Target/Mips/MipsOptionRecord.h @ 121:803732b1fca8
LLVM 5.0
author | kono |
---|---|
date | Fri, 27 Oct 2017 17:07:41 +0900 |
parents | afa8332a0e37 |
children | c2174574ed3a |
comparison
equal
deleted
inserted
replaced
120:1172e4bd9c6f | 121:803732b1fca8 |
---|---|
1 //===-- MipsOptionRecord.h - Abstraction for storing information ----------===// | 1 //===- MipsOptionRecord.h - Abstraction for storing information -*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
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. |
21 #define LLVM_LIB_TARGET_MIPS_MIPSOPTIONRECORD_H | 21 #define LLVM_LIB_TARGET_MIPS_MIPSOPTIONRECORD_H |
22 | 22 |
23 #include "MCTargetDesc/MipsMCTargetDesc.h" | 23 #include "MCTargetDesc/MipsMCTargetDesc.h" |
24 #include "llvm/MC/MCContext.h" | 24 #include "llvm/MC/MCContext.h" |
25 #include "llvm/MC/MCRegisterInfo.h" | 25 #include "llvm/MC/MCRegisterInfo.h" |
26 #include <cstdint> | |
26 | 27 |
27 namespace llvm { | 28 namespace llvm { |
29 | |
28 class MipsELFStreamer; | 30 class MipsELFStreamer; |
29 class MCSubtargetInfo; | |
30 | 31 |
31 class MipsOptionRecord { | 32 class MipsOptionRecord { |
32 public: | 33 public: |
33 virtual ~MipsOptionRecord(){}; | 34 virtual ~MipsOptionRecord() = default; |
35 | |
34 virtual void EmitMipsOptionRecord() = 0; | 36 virtual void EmitMipsOptionRecord() = 0; |
35 }; | 37 }; |
36 | 38 |
37 class MipsRegInfoRecord : public MipsOptionRecord { | 39 class MipsRegInfoRecord : public MipsOptionRecord { |
38 public: | 40 public: |
51 MSA128BRegClass = &(TRI->getRegClass(Mips::MSA128BRegClassID)); | 53 MSA128BRegClass = &(TRI->getRegClass(Mips::MSA128BRegClassID)); |
52 COP0RegClass = &(TRI->getRegClass(Mips::COP0RegClassID)); | 54 COP0RegClass = &(TRI->getRegClass(Mips::COP0RegClassID)); |
53 COP2RegClass = &(TRI->getRegClass(Mips::COP2RegClassID)); | 55 COP2RegClass = &(TRI->getRegClass(Mips::COP2RegClassID)); |
54 COP3RegClass = &(TRI->getRegClass(Mips::COP3RegClassID)); | 56 COP3RegClass = &(TRI->getRegClass(Mips::COP3RegClassID)); |
55 } | 57 } |
56 ~MipsRegInfoRecord() override {} | 58 |
59 ~MipsRegInfoRecord() override = default; | |
57 | 60 |
58 void EmitMipsOptionRecord() override; | 61 void EmitMipsOptionRecord() override; |
59 void SetPhysRegUsed(unsigned Reg, const MCRegisterInfo *MCRegInfo); | 62 void SetPhysRegUsed(unsigned Reg, const MCRegisterInfo *MCRegInfo); |
60 | 63 |
61 private: | 64 private: |
72 const MCRegisterClass *COP3RegClass; | 75 const MCRegisterClass *COP3RegClass; |
73 uint32_t ri_gprmask; | 76 uint32_t ri_gprmask; |
74 uint32_t ri_cprmask[4]; | 77 uint32_t ri_cprmask[4]; |
75 int64_t ri_gp_value; | 78 int64_t ri_gp_value; |
76 }; | 79 }; |
77 } // namespace llvm | 80 |
78 #endif | 81 } // end namespace llvm |
82 | |
83 #endif // LLVM_LIB_TARGET_MIPS_MIPSOPTIONRECORD_H |