Index: src/IceDefs.h |
diff --git a/src/IceDefs.h b/src/IceDefs.h |
index 9870716d7b27391530adede5fffd58c53e9b7abe..5e3c6634c5b78e1aad3f440dd186b823c484a58b 100644 |
--- a/src/IceDefs.h |
+++ b/src/IceDefs.h |
@@ -50,6 +50,8 @@ class GlobalContext; |
class Inst; |
class InstPhi; |
class InstTarget; |
+class LiveRange; |
+class Liveness; |
class Operand; |
class TargetLowering; |
class Variable; |
@@ -68,6 +70,24 @@ typedef std::vector<Constant *> ConstantList; |
// may be 64-bits wide) when we want to save space. |
typedef uint32_t SizeT; |
+enum LivenessMode { |
+ // Lightweight version of live-range-end calculation. Marks the |
+ // last use of variables whose definition and uses are completely |
+ // within a single block. |
+ Liveness_LREndLightweight, |
+ |
+ // Full version of live-range-end calculation. Marks the last uses |
+ // of variables based on dataflow analysis. Records the set of |
+ // live-in and live-out variables for each block. Identifies and |
+ // deletes dead instructions (primarily stores). |
+ Liveness_LREndFull, |
+ |
+ // In addition to Liveness_LREndFull, also calculate the complete |
+ // live range for each variable in a form suitable for interference |
+ // calculation and register allocation. |
+ Liveness_RangesFull |
+}; |
+ |
enum VerboseItem { |
IceV_None = 0, |
IceV_Instructions = 1 << 0, |