OLD | NEW |
1 //===- subzero/src/IceTargetLoweringMIPS32.h - MIPS32 lowering ---*- C++-*-===// | 1 //===- subzero/src/IceTargetLoweringMIPS32.h - MIPS32 lowering ---*- 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 // This file declares the TargetLoweringMIPS32 class, which implements the | 10 // This file declares the TargetLoweringMIPS32 class, which implements the |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 | 117 |
118 bool UsesFramePointer = false; | 118 bool UsesFramePointer = false; |
119 bool NeedsStackAlignment = false; | 119 bool NeedsStackAlignment = false; |
120 llvm::SmallBitVector TypeToRegisterSet[IceType_NUM]; | 120 llvm::SmallBitVector TypeToRegisterSet[IceType_NUM]; |
121 llvm::SmallBitVector ScratchRegs; | 121 llvm::SmallBitVector ScratchRegs; |
122 llvm::SmallBitVector RegsUsed; | 122 llvm::SmallBitVector RegsUsed; |
123 VarList PhysicalRegisters[IceType_NUM]; | 123 VarList PhysicalRegisters[IceType_NUM]; |
124 static IceString RegNames[]; | 124 static IceString RegNames[]; |
125 | 125 |
126 private: | 126 private: |
127 ~TargetMIPS32() override {} | 127 ~TargetMIPS32() override = default; |
128 }; | 128 }; |
129 | 129 |
130 class TargetDataMIPS32 final : public TargetDataLowering { | 130 class TargetDataMIPS32 final : public TargetDataLowering { |
131 TargetDataMIPS32() = delete; | 131 TargetDataMIPS32() = delete; |
132 TargetDataMIPS32(const TargetDataMIPS32 &) = delete; | 132 TargetDataMIPS32(const TargetDataMIPS32 &) = delete; |
133 TargetDataMIPS32 &operator=(const TargetDataMIPS32 &) = delete; | 133 TargetDataMIPS32 &operator=(const TargetDataMIPS32 &) = delete; |
134 | 134 |
135 public: | 135 public: |
136 static std::unique_ptr<TargetDataLowering> create(GlobalContext *Ctx) { | 136 static std::unique_ptr<TargetDataLowering> create(GlobalContext *Ctx) { |
137 return std::unique_ptr<TargetDataLowering>(new TargetDataMIPS32(Ctx)); | 137 return std::unique_ptr<TargetDataLowering>(new TargetDataMIPS32(Ctx)); |
138 } | 138 } |
139 | 139 |
140 void lowerGlobals(const VariableDeclarationList &Vars, | 140 void lowerGlobals(const VariableDeclarationList &Vars, |
141 const IceString &SectionSuffix) override; | 141 const IceString &SectionSuffix) override; |
142 void lowerConstants() override; | 142 void lowerConstants() override; |
143 | 143 |
144 protected: | 144 protected: |
145 explicit TargetDataMIPS32(GlobalContext *Ctx); | 145 explicit TargetDataMIPS32(GlobalContext *Ctx); |
146 | 146 |
147 private: | 147 private: |
148 ~TargetDataMIPS32() override {} | 148 ~TargetDataMIPS32() override = default; |
149 template <typename T> static void emitConstantPool(GlobalContext *Ctx); | 149 template <typename T> static void emitConstantPool(GlobalContext *Ctx); |
150 }; | 150 }; |
151 | 151 |
152 class TargetHeaderMIPS32 final : public TargetHeaderLowering { | 152 class TargetHeaderMIPS32 final : public TargetHeaderLowering { |
153 TargetHeaderMIPS32() = delete; | 153 TargetHeaderMIPS32() = delete; |
154 TargetHeaderMIPS32(const TargetHeaderMIPS32 &) = delete; | 154 TargetHeaderMIPS32(const TargetHeaderMIPS32 &) = delete; |
155 TargetHeaderMIPS32 &operator=(const TargetHeaderMIPS32 &) = delete; | 155 TargetHeaderMIPS32 &operator=(const TargetHeaderMIPS32 &) = delete; |
156 | 156 |
157 public: | 157 public: |
158 static std::unique_ptr<TargetHeaderLowering> create(GlobalContext *Ctx) { | 158 static std::unique_ptr<TargetHeaderLowering> create(GlobalContext *Ctx) { |
159 return std::unique_ptr<TargetHeaderLowering>(new TargetHeaderMIPS32(Ctx)); | 159 return std::unique_ptr<TargetHeaderLowering>(new TargetHeaderMIPS32(Ctx)); |
160 } | 160 } |
161 | 161 |
162 protected: | 162 protected: |
163 explicit TargetHeaderMIPS32(GlobalContext *Ctx); | 163 explicit TargetHeaderMIPS32(GlobalContext *Ctx); |
164 | 164 |
165 private: | 165 private: |
166 ~TargetHeaderMIPS32() = default; | 166 ~TargetHeaderMIPS32() = default; |
167 }; | 167 }; |
168 | 168 |
169 } // end of namespace Ice | 169 } // end of namespace Ice |
170 | 170 |
171 #endif // SUBZERO_SRC_ICETARGETLOWERINGMIPS32_H | 171 #endif // SUBZERO_SRC_ICETARGETLOWERINGMIPS32_H |
OLD | NEW |