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 /// \file | 10 /// \file |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 TargetLowering *const Target; | 348 TargetLowering *const Target; |
349 const bool NeedSandboxing; | 349 const bool NeedSandboxing; |
350 }; | 350 }; |
351 | 351 |
352 explicit TargetLowering(Cfg *Func); | 352 explicit TargetLowering(Cfg *Func); |
353 // Applies command line filters to TypeToRegisterSet array. | 353 // Applies command line filters to TypeToRegisterSet array. |
354 static void | 354 static void |
355 filterTypeToRegisterSet(GlobalContext *Ctx, int32_t NumRegs, | 355 filterTypeToRegisterSet(GlobalContext *Ctx, int32_t NumRegs, |
356 llvm::SmallBitVector TypeToRegisterSet[], | 356 llvm::SmallBitVector TypeToRegisterSet[], |
357 size_t TypeToRegisterSetSize, | 357 size_t TypeToRegisterSetSize, |
358 std::function<IceString(int32_t)> getRegName); | 358 std::function<IceString(int32_t)> getRegName, |
| 359 std::function<IceString(RegClass)> getRegClassName); |
359 virtual void lowerAlloca(const InstAlloca *Inst) = 0; | 360 virtual void lowerAlloca(const InstAlloca *Inst) = 0; |
360 virtual void lowerArithmetic(const InstArithmetic *Inst) = 0; | 361 virtual void lowerArithmetic(const InstArithmetic *Inst) = 0; |
361 virtual void lowerAssign(const InstAssign *Inst) = 0; | 362 virtual void lowerAssign(const InstAssign *Inst) = 0; |
362 virtual void lowerBr(const InstBr *Inst) = 0; | 363 virtual void lowerBr(const InstBr *Inst) = 0; |
363 virtual void lowerCall(const InstCall *Inst) = 0; | 364 virtual void lowerCall(const InstCall *Inst) = 0; |
364 virtual void lowerCast(const InstCast *Inst) = 0; | 365 virtual void lowerCast(const InstCast *Inst) = 0; |
365 virtual void lowerFcmp(const InstFcmp *Inst) = 0; | 366 virtual void lowerFcmp(const InstFcmp *Inst) = 0; |
366 virtual void lowerExtractElement(const InstExtractElement *Inst) = 0; | 367 virtual void lowerExtractElement(const InstExtractElement *Inst) = 0; |
367 virtual void lowerIcmp(const InstIcmp *Inst) = 0; | 368 virtual void lowerIcmp(const InstIcmp *Inst) = 0; |
368 virtual void lowerInsertElement(const InstInsertElement *Inst) = 0; | 369 virtual void lowerInsertElement(const InstInsertElement *Inst) = 0; |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
549 virtual void lower() {} | 550 virtual void lower() {} |
550 | 551 |
551 protected: | 552 protected: |
552 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} | 553 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} |
553 GlobalContext *Ctx; | 554 GlobalContext *Ctx; |
554 }; | 555 }; |
555 | 556 |
556 } // end of namespace Ice | 557 } // end of namespace Ice |
557 | 558 |
558 #endif // SUBZERO_SRC_ICETARGETLOWERING_H | 559 #endif // SUBZERO_SRC_ICETARGETLOWERING_H |
OLD | NEW |