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 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 Context.getLastInserted()->setDestNonKillable(); | 352 Context.getLastInserted()->setDestNonKillable(); |
353 } | 353 } |
354 | 354 |
355 bool shouldOptimizeMemIntrins(); | 355 bool shouldOptimizeMemIntrins(); |
356 | 356 |
357 Cfg *Func; | 357 Cfg *Func; |
358 GlobalContext *Ctx; | 358 GlobalContext *Ctx; |
359 bool HasComputedFrame = false; | 359 bool HasComputedFrame = false; |
360 bool CallsReturnsTwice = false; | 360 bool CallsReturnsTwice = false; |
361 /// StackAdjustment keeps track of the current stack offset from its natural | 361 /// StackAdjustment keeps track of the current stack offset from its natural |
362 /// location, as arguments are pushed for a function call. | 362 /// location, e.g. as arguments are pushed for a function call or as |
| 363 /// fixed-size alloca instructions are executed in the entry block. |
363 int32_t StackAdjustment = 0; | 364 int32_t StackAdjustment = 0; |
364 SizeT NextLabelNumber = 0; | 365 SizeT NextLabelNumber = 0; |
365 SizeT NextJumpTableNumber = 0; | 366 SizeT NextJumpTableNumber = 0; |
366 LoweringContext Context; | 367 LoweringContext Context; |
367 | 368 |
368 // Runtime helper function names | 369 // Runtime helper function names |
369 const static constexpr char *H_bitcast_16xi1_i16 = "__Sz_bitcast_16xi1_i16"; | 370 const static constexpr char *H_bitcast_16xi1_i16 = "__Sz_bitcast_16xi1_i16"; |
370 const static constexpr char *H_bitcast_8xi1_i8 = "__Sz_bitcast_8xi1_i8"; | 371 const static constexpr char *H_bitcast_8xi1_i8 = "__Sz_bitcast_8xi1_i8"; |
371 const static constexpr char *H_bitcast_i16_16xi1 = "__Sz_bitcast_i16_16xi1"; | 372 const static constexpr char *H_bitcast_i16_16xi1 = "__Sz_bitcast_i16_16xi1"; |
372 const static constexpr char *H_bitcast_i8_8xi1 = "__Sz_bitcast_i8_8xi1"; | 373 const static constexpr char *H_bitcast_i8_8xi1 = "__Sz_bitcast_i8_8xi1"; |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 virtual void lower() {} | 454 virtual void lower() {} |
454 | 455 |
455 protected: | 456 protected: |
456 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} | 457 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} |
457 GlobalContext *Ctx; | 458 GlobalContext *Ctx; |
458 }; | 459 }; |
459 | 460 |
460 } // end of namespace Ice | 461 } // end of namespace Ice |
461 | 462 |
462 #endif // SUBZERO_SRC_ICETARGETLOWERING_H | 463 #endif // SUBZERO_SRC_ICETARGETLOWERING_H |
OLD | NEW |