Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1955)

Unified Diff: src/IceDefs.h

Issue 300563003: Subzero: Initial O2 lowering (Closed) Base URL: https://gerrit.chromium.org/gerrit/p/native_client/pnacl-subzero.git@master
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698