OLD | NEW |
1 //===- subzero/src/IceTargetLowering.h - Lowering interface -----*- C++ -*-===// | 1 //===- subzero/src/IceTargetLowering.h - Lowering interface -----*- 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 TargetLowering and LoweringContext | 10 // This file declares the TargetLowering and LoweringContext |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 TargetLowering &operator=(const TargetLowering &) LLVM_DELETED_FUNCTION; | 204 TargetLowering &operator=(const TargetLowering &) LLVM_DELETED_FUNCTION; |
205 }; | 205 }; |
206 | 206 |
207 // TargetGlobalInitLowering is used for "lowering" global | 207 // TargetGlobalInitLowering is used for "lowering" global |
208 // initializers. It is separated out from TargetLowering because it | 208 // initializers. It is separated out from TargetLowering because it |
209 // does not require a Cfg. | 209 // does not require a Cfg. |
210 class TargetGlobalInitLowering { | 210 class TargetGlobalInitLowering { |
211 public: | 211 public: |
212 static TargetGlobalInitLowering *createLowering(TargetArch Target, | 212 static TargetGlobalInitLowering *createLowering(TargetArch Target, |
213 GlobalContext *Ctx); | 213 GlobalContext *Ctx); |
| 214 virtual ~TargetGlobalInitLowering(); |
| 215 |
214 // TODO: Allow relocations to be represented as part of the Data. | 216 // TODO: Allow relocations to be represented as part of the Data. |
215 virtual void lower(const IceString &Name, SizeT Align, bool IsInternal, | 217 virtual void lower(const IceString &Name, SizeT Align, bool IsInternal, |
216 bool IsConst, bool IsZeroInitializer, SizeT Size, | 218 bool IsConst, bool IsZeroInitializer, SizeT Size, |
217 const char *Data, bool DisableTranslation) = 0; | 219 const char *Data, bool DisableTranslation) = 0; |
218 | 220 |
219 protected: | 221 protected: |
220 TargetGlobalInitLowering(GlobalContext *Ctx) : Ctx(Ctx) {} | 222 TargetGlobalInitLowering(GlobalContext *Ctx) : Ctx(Ctx) {} |
221 GlobalContext *Ctx; | 223 GlobalContext *Ctx; |
222 | 224 |
223 private: | 225 private: |
224 TargetGlobalInitLowering(const TargetGlobalInitLowering &) | 226 TargetGlobalInitLowering(const TargetGlobalInitLowering &) |
225 LLVM_DELETED_FUNCTION; | 227 LLVM_DELETED_FUNCTION; |
226 TargetGlobalInitLowering & | 228 TargetGlobalInitLowering & |
227 operator=(const TargetGlobalInitLowering &) LLVM_DELETED_FUNCTION; | 229 operator=(const TargetGlobalInitLowering &) LLVM_DELETED_FUNCTION; |
228 }; | 230 }; |
229 | 231 |
230 } // end of namespace Ice | 232 } // end of namespace Ice |
231 | 233 |
232 #endif // SUBZERO_SRC_ICETARGETLOWERING_H | 234 #endif // SUBZERO_SRC_ICETARGETLOWERING_H |
OLD | NEW |