Index: src/compiler/common-operator-reducer.h |
diff --git a/src/compiler/common-operator-reducer.h b/src/compiler/common-operator-reducer.h |
index 10543db8c68234783ab21ce434627ea6c0eb65cc..dfcbe295bc47ed9c0fb5361bb2bfdc9574f2bd5a 100644 |
--- a/src/compiler/common-operator-reducer.h |
+++ b/src/compiler/common-operator-reducer.h |
@@ -11,13 +11,32 @@ namespace v8 { |
namespace internal { |
namespace compiler { |
+// Forward declarations. |
+class CommonOperatorBuilder; |
+class Graph; |
+class JSGraph; |
+class MachineOperatorBuilder; |
+ |
+ |
// Performs strength reduction on nodes that have common operators. |
class CommonOperatorReducer FINAL : public Reducer { |
public: |
- CommonOperatorReducer() {} |
+ explicit CommonOperatorReducer(JSGraph* jsgraph) : jsgraph_(jsgraph) {} |
~CommonOperatorReducer() FINAL {} |
Reduction Reduce(Node* node) FINAL; |
+ |
+ private: |
+ Reduction ReduceEffectPhi(Node* node); |
+ Reduction ReducePhi(Node* node); |
+ Reduction ReduceSelect(Node* node); |
+ |
+ CommonOperatorBuilder* common() const; |
+ Graph* graph() const; |
+ JSGraph* jsgraph() const { return jsgraph_; } |
+ MachineOperatorBuilder* machine() const; |
+ |
+ JSGraph* const jsgraph_; |
}; |
} // namespace compiler |