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 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 virtual void lowerPhi(const InstPhi *Inst) = 0; | 275 virtual void lowerPhi(const InstPhi *Inst) = 0; |
276 virtual void lowerRet(const InstRet *Inst) = 0; | 276 virtual void lowerRet(const InstRet *Inst) = 0; |
277 virtual void lowerSelect(const InstSelect *Inst) = 0; | 277 virtual void lowerSelect(const InstSelect *Inst) = 0; |
278 virtual void lowerStore(const InstStore *Inst) = 0; | 278 virtual void lowerStore(const InstStore *Inst) = 0; |
279 virtual void lowerSwitch(const InstSwitch *Inst) = 0; | 279 virtual void lowerSwitch(const InstSwitch *Inst) = 0; |
280 virtual void lowerUnreachable(const InstUnreachable *Inst) = 0; | 280 virtual void lowerUnreachable(const InstUnreachable *Inst) = 0; |
281 virtual void lowerOther(const Inst *Instr); | 281 virtual void lowerOther(const Inst *Instr); |
282 | 282 |
283 virtual void doAddressOptLoad() {} | 283 virtual void doAddressOptLoad() {} |
284 virtual void doAddressOptStore() {} | 284 virtual void doAddressOptStore() {} |
| 285 virtual void doMockBoundsCheck(Operand *) {} |
285 virtual void randomlyInsertNop(float Probability, | 286 virtual void randomlyInsertNop(float Probability, |
286 RandomNumberGenerator &RNG) = 0; | 287 RandomNumberGenerator &RNG) = 0; |
287 /// This gives the target an opportunity to post-process the lowered | 288 /// This gives the target an opportunity to post-process the lowered |
288 /// expansion before returning. | 289 /// expansion before returning. |
289 virtual void postLower() {} | 290 virtual void postLower() {} |
290 | 291 |
291 /// Find two-address non-SSA instructions and set the DestNonKillable flag | 292 /// Find two-address non-SSA instructions and set the DestNonKillable flag |
292 /// to keep liveness analysis consistent. | 293 /// to keep liveness analysis consistent. |
293 void inferTwoAddress(); | 294 void inferTwoAddress(); |
294 | 295 |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 virtual void lower() {} | 457 virtual void lower() {} |
457 | 458 |
458 protected: | 459 protected: |
459 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} | 460 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} |
460 GlobalContext *Ctx; | 461 GlobalContext *Ctx; |
461 }; | 462 }; |
462 | 463 |
463 } // end of namespace Ice | 464 } // end of namespace Ice |
464 | 465 |
465 #endif // SUBZERO_SRC_ICETARGETLOWERING_H | 466 #endif // SUBZERO_SRC_ICETARGETLOWERING_H |
OLD | NEW |