Chromium Code Reviews| 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 10 matching lines...) Expand all Loading... | |
| 21 #ifndef SUBZERO_SRC_ICETARGETLOWERING_H | 21 #ifndef SUBZERO_SRC_ICETARGETLOWERING_H |
| 22 #define SUBZERO_SRC_ICETARGETLOWERING_H | 22 #define SUBZERO_SRC_ICETARGETLOWERING_H |
| 23 | 23 |
| 24 #include "IceDefs.h" | 24 #include "IceDefs.h" |
| 25 #include "IceInst.h" // for the names of the Inst subtypes | 25 #include "IceInst.h" // for the names of the Inst subtypes |
| 26 #include "IceOperand.h" | 26 #include "IceOperand.h" |
| 27 #include "IceTypes.h" | 27 #include "IceTypes.h" |
| 28 | 28 |
| 29 namespace Ice { | 29 namespace Ice { |
| 30 | 30 |
| 31 // UnimplementedError is defined as a macro so that we can get actual line | |
| 32 // numbers. | |
| 33 #define UnimplementedError(Flags) \ | |
| 34 do { \ | |
| 35 if (!static_cast<const ClFlags &>(Flags).getSkipUnimplemented()) { \ | |
|
Jim Stichnoth
2015/10/08 23:50:41
Do you really need the cast here?
For proper macr
John
2015/10/09 12:12:24
I'll reply on his behalf, for this is my fault.
R
Karl
2015/10/09 19:08:18
Acknowledged.
Jim Stichnoth
2015/10/09 20:05:44
I guess I was thinking of the case where the "Flag
| |
| 36 /* Use llvm_unreachable instead of report_fatal_error, which gives \ | |
| 37 better stack traces. */ \ | |
| 38 llvm_unreachable("Not yet implemented"); \ | |
| 39 abort(); \ | |
| 40 } \ | |
| 41 } while (0) | |
| 42 | |
| 31 /// LoweringContext makes it easy to iterate through non-deleted instructions in | 43 /// LoweringContext makes it easy to iterate through non-deleted instructions in |
| 32 /// a node, and insert new (lowered) instructions at the current point. Along | 44 /// a node, and insert new (lowered) instructions at the current point. Along |
| 33 /// with the instruction list container and associated iterators, it holds the | 45 /// with the instruction list container and associated iterators, it holds the |
| 34 /// current node, which is needed when inserting new instructions in order to | 46 /// current node, which is needed when inserting new instructions in order to |
| 35 /// track whether variables are used as single-block or multi-block. | 47 /// track whether variables are used as single-block or multi-block. |
| 36 class LoweringContext { | 48 class LoweringContext { |
| 37 LoweringContext(const LoweringContext &) = delete; | 49 LoweringContext(const LoweringContext &) = delete; |
| 38 LoweringContext &operator=(const LoweringContext &) = delete; | 50 LoweringContext &operator=(const LoweringContext &) = delete; |
| 39 | 51 |
| 40 public: | 52 public: |
| (...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 461 virtual void lower() {} | 473 virtual void lower() {} |
| 462 | 474 |
| 463 protected: | 475 protected: |
| 464 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} | 476 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} |
| 465 GlobalContext *Ctx; | 477 GlobalContext *Ctx; |
| 466 }; | 478 }; |
| 467 | 479 |
| 468 } // end of namespace Ice | 480 } // end of namespace Ice |
| 469 | 481 |
| 470 #endif // SUBZERO_SRC_ICETARGETLOWERING_H | 482 #endif // SUBZERO_SRC_ICETARGETLOWERING_H |
| OLD | NEW |