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 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 virtual void lowerSelect(const InstSelect *Instr) = 0; | 389 virtual void lowerSelect(const InstSelect *Instr) = 0; |
390 virtual void lowerShuffleVector(const InstShuffleVector *Instr) = 0; | 390 virtual void lowerShuffleVector(const InstShuffleVector *Instr) = 0; |
391 virtual void lowerStore(const InstStore *Instr) = 0; | 391 virtual void lowerStore(const InstStore *Instr) = 0; |
392 virtual void lowerSwitch(const InstSwitch *Instr) = 0; | 392 virtual void lowerSwitch(const InstSwitch *Instr) = 0; |
393 virtual void lowerUnreachable(const InstUnreachable *Instr) = 0; | 393 virtual void lowerUnreachable(const InstUnreachable *Instr) = 0; |
394 virtual void lowerOther(const Inst *Instr); | 394 virtual void lowerOther(const Inst *Instr); |
395 | 395 |
396 virtual void genTargetHelperCallFor(Inst *Instr) = 0; | 396 virtual void genTargetHelperCallFor(Inst *Instr) = 0; |
397 virtual uint32_t getCallStackArgumentsSizeBytes(const InstCall *Instr) = 0; | 397 virtual uint32_t getCallStackArgumentsSizeBytes(const InstCall *Instr) = 0; |
398 | 398 |
| 399 /// Opportunity to modify other instructions to help Address Optimization |
| 400 virtual void doAddressOptOther() {} |
399 virtual void doAddressOptLoad() {} | 401 virtual void doAddressOptLoad() {} |
400 virtual void doAddressOptStore() {} | 402 virtual void doAddressOptStore() {} |
401 virtual void doMockBoundsCheck(Operand *) {} | 403 virtual void doMockBoundsCheck(Operand *) {} |
402 virtual void randomlyInsertNop(float Probability, | 404 virtual void randomlyInsertNop(float Probability, |
403 RandomNumberGenerator &RNG) = 0; | 405 RandomNumberGenerator &RNG) = 0; |
404 /// This gives the target an opportunity to post-process the lowered expansion | 406 /// This gives the target an opportunity to post-process the lowered expansion |
405 /// before returning. | 407 /// before returning. |
406 virtual void postLower() {} | 408 virtual void postLower() {} |
407 | 409 |
408 /// When the SkipUnimplemented flag is set, addFakeDefUses() gets invoked by | 410 /// When the SkipUnimplemented flag is set, addFakeDefUses() gets invoked by |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
619 virtual void lower() {} | 621 virtual void lower() {} |
620 | 622 |
621 protected: | 623 protected: |
622 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} | 624 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} |
623 GlobalContext *Ctx; | 625 GlobalContext *Ctx; |
624 }; | 626 }; |
625 | 627 |
626 } // end of namespace Ice | 628 } // end of namespace Ice |
627 | 629 |
628 #endif // SUBZERO_SRC_ICETARGETLOWERING_H | 630 #endif // SUBZERO_SRC_ICETARGETLOWERING_H |
OLD | NEW |