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, LoweringContext, and | 10 // This file declares the TargetLowering, LoweringContext, and |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 virtual void lowerIcmp(const InstIcmp *Inst) = 0; | 241 virtual void lowerIcmp(const InstIcmp *Inst) = 0; |
242 virtual void lowerInsertElement(const InstInsertElement *Inst) = 0; | 242 virtual void lowerInsertElement(const InstInsertElement *Inst) = 0; |
243 virtual void lowerIntrinsicCall(const InstIntrinsicCall *Inst) = 0; | 243 virtual void lowerIntrinsicCall(const InstIntrinsicCall *Inst) = 0; |
244 virtual void lowerLoad(const InstLoad *Inst) = 0; | 244 virtual void lowerLoad(const InstLoad *Inst) = 0; |
245 virtual void lowerPhi(const InstPhi *Inst) = 0; | 245 virtual void lowerPhi(const InstPhi *Inst) = 0; |
246 virtual void lowerRet(const InstRet *Inst) = 0; | 246 virtual void lowerRet(const InstRet *Inst) = 0; |
247 virtual void lowerSelect(const InstSelect *Inst) = 0; | 247 virtual void lowerSelect(const InstSelect *Inst) = 0; |
248 virtual void lowerStore(const InstStore *Inst) = 0; | 248 virtual void lowerStore(const InstStore *Inst) = 0; |
249 virtual void lowerSwitch(const InstSwitch *Inst) = 0; | 249 virtual void lowerSwitch(const InstSwitch *Inst) = 0; |
250 virtual void lowerUnreachable(const InstUnreachable *Inst) = 0; | 250 virtual void lowerUnreachable(const InstUnreachable *Inst) = 0; |
| 251 virtual void lowerOther(const Inst *Instr); |
251 | 252 |
252 virtual void doAddressOptLoad() {} | 253 virtual void doAddressOptLoad() {} |
253 virtual void doAddressOptStore() {} | 254 virtual void doAddressOptStore() {} |
254 virtual void randomlyInsertNop(float Probability) = 0; | 255 virtual void randomlyInsertNop(float Probability) = 0; |
255 // This gives the target an opportunity to post-process the lowered | 256 // This gives the target an opportunity to post-process the lowered |
256 // expansion before returning. | 257 // expansion before returning. |
257 virtual void postLower() {} | 258 virtual void postLower() {} |
258 | 259 |
259 // Find two-address non-SSA instructions and set the DestNonKillable flag | 260 // Find two-address non-SSA instructions and set the DestNonKillable flag |
260 // to keep liveness analysis consistent. | 261 // to keep liveness analysis consistent. |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 virtual void lower() {} | 412 virtual void lower() {} |
412 | 413 |
413 protected: | 414 protected: |
414 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} | 415 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} |
415 GlobalContext *Ctx; | 416 GlobalContext *Ctx; |
416 }; | 417 }; |
417 | 418 |
418 } // end of namespace Ice | 419 } // end of namespace Ice |
419 | 420 |
420 #endif // SUBZERO_SRC_ICETARGETLOWERING_H | 421 #endif // SUBZERO_SRC_ICETARGETLOWERING_H |
OLD | NEW |