OLD | NEW |
1 //===- subzero/src/IceTargetLoweringARM32.h - ARM32 lowering ----*- C++ -*-===// | 1 //===- subzero/src/IceTargetLoweringARM32.h - ARM32 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 TargetLoweringARM32 class, which implements the | 10 // This file declares the TargetLoweringARM32 class, which implements the |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 bool I64InRegs(std::pair<int32_t, int32_t> *Regs); | 334 bool I64InRegs(std::pair<int32_t, int32_t> *Regs); |
335 bool I32InReg(int32_t *Reg); | 335 bool I32InReg(int32_t *Reg); |
336 | 336 |
337 static constexpr uint32_t ARM32_MAX_GPR_ARG = 4; | 337 static constexpr uint32_t ARM32_MAX_GPR_ARG = 4; |
338 | 338 |
339 private: | 339 private: |
340 uint32_t NumGPRRegsUsed; | 340 uint32_t NumGPRRegsUsed; |
341 }; | 341 }; |
342 | 342 |
343 private: | 343 private: |
344 ~TargetARM32() override {} | 344 ~TargetARM32() override = default; |
345 }; | 345 }; |
346 | 346 |
347 class TargetDataARM32 final : public TargetDataLowering { | 347 class TargetDataARM32 final : public TargetDataLowering { |
348 TargetDataARM32() = delete; | 348 TargetDataARM32() = delete; |
349 TargetDataARM32(const TargetDataARM32 &) = delete; | 349 TargetDataARM32(const TargetDataARM32 &) = delete; |
350 TargetDataARM32 &operator=(const TargetDataARM32 &) = delete; | 350 TargetDataARM32 &operator=(const TargetDataARM32 &) = delete; |
351 | 351 |
352 public: | 352 public: |
353 static std::unique_ptr<TargetDataLowering> create(GlobalContext *Ctx) { | 353 static std::unique_ptr<TargetDataLowering> create(GlobalContext *Ctx) { |
354 return std::unique_ptr<TargetDataLowering>(new TargetDataARM32(Ctx)); | 354 return std::unique_ptr<TargetDataLowering>(new TargetDataARM32(Ctx)); |
355 } | 355 } |
356 | 356 |
357 void lowerGlobals(const VariableDeclarationList &Vars, | 357 void lowerGlobals(const VariableDeclarationList &Vars, |
358 const IceString &SectionSuffix) override; | 358 const IceString &SectionSuffix) override; |
359 void lowerConstants() override; | 359 void lowerConstants() override; |
360 | 360 |
361 protected: | 361 protected: |
362 explicit TargetDataARM32(GlobalContext *Ctx); | 362 explicit TargetDataARM32(GlobalContext *Ctx); |
363 | 363 |
364 private: | 364 private: |
365 ~TargetDataARM32() override {} | 365 ~TargetDataARM32() override = default; |
366 template <typename T> static void emitConstantPool(GlobalContext *Ctx); | 366 template <typename T> static void emitConstantPool(GlobalContext *Ctx); |
367 }; | 367 }; |
368 | 368 |
369 class TargetHeaderARM32 final : public TargetHeaderLowering { | 369 class TargetHeaderARM32 final : public TargetHeaderLowering { |
370 TargetHeaderARM32() = delete; | 370 TargetHeaderARM32() = delete; |
371 TargetHeaderARM32(const TargetHeaderARM32 &) = delete; | 371 TargetHeaderARM32(const TargetHeaderARM32 &) = delete; |
372 TargetHeaderARM32 &operator=(const TargetHeaderARM32 &) = delete; | 372 TargetHeaderARM32 &operator=(const TargetHeaderARM32 &) = delete; |
373 | 373 |
374 public: | 374 public: |
375 static std::unique_ptr<TargetHeaderLowering> create(GlobalContext *Ctx) { | 375 static std::unique_ptr<TargetHeaderLowering> create(GlobalContext *Ctx) { |
376 return std::unique_ptr<TargetHeaderLowering>(new TargetHeaderARM32(Ctx)); | 376 return std::unique_ptr<TargetHeaderLowering>(new TargetHeaderARM32(Ctx)); |
377 } | 377 } |
378 | 378 |
379 void lower() override; | 379 void lower() override; |
380 | 380 |
381 protected: | 381 protected: |
382 explicit TargetHeaderARM32(GlobalContext *Ctx); | 382 explicit TargetHeaderARM32(GlobalContext *Ctx); |
383 | 383 |
384 private: | 384 private: |
385 ~TargetHeaderARM32() = default; | 385 ~TargetHeaderARM32() = default; |
386 }; | 386 }; |
387 | 387 |
388 } // end of namespace Ice | 388 } // end of namespace Ice |
389 | 389 |
390 #endif // SUBZERO_SRC_ICETARGETLOWERINGARM32_H | 390 #endif // SUBZERO_SRC_ICETARGETLOWERINGARM32_H |
OLD | NEW |