Chromium Code Reviews| Index: runtime/vm/flow_graph_optimizer.h |
| =================================================================== |
| --- runtime/vm/flow_graph_optimizer.h (revision 10885) |
| +++ runtime/vm/flow_graph_optimizer.h (working copy) |
| @@ -14,8 +14,8 @@ |
| class FlowGraphOptimizer : public FlowGraphVisitor { |
| public: |
| - explicit FlowGraphOptimizer(const FlowGraph& flow_graph) |
| - : FlowGraphVisitor(flow_graph.reverse_postorder()) {} |
| + FlowGraphOptimizer(const FlowGraph& flow_graph, bool use_ssa) |
| + : FlowGraphVisitor(flow_graph.reverse_postorder()), use_ssa_(use_ssa) {} |
| virtual ~FlowGraphOptimizer() {} |
| void ApplyICData(); |
| @@ -46,6 +46,8 @@ |
| bool TryInlineInstanceMethod(BindInstr* instr, InstanceCallComp* comp); |
| + bool use_ssa_; |
|
srdjan
2012/08/17 22:30:22
const, but who cares, it will go away next week.
|
| + |
| DISALLOW_COPY_AND_ASSIGN(FlowGraphOptimizer); |
| }; |
| @@ -107,6 +109,21 @@ |
| DISALLOW_COPY_AND_ASSIGN(FlowGraphTypePropagator); |
| }; |
| + |
| +class LocalCSE : public ValueObject { |
| + public: |
| + explicit LocalCSE(const FlowGraph& flow_graph) |
| + : blocks_(flow_graph.reverse_postorder()) { } |
| + |
| + void Optimize(); |
| + |
| + private: |
| + const GrowableArray<BlockEntryInstr*>& blocks_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(LocalCSE); |
| +}; |
| + |
| + |
| } // namespace dart |
| #endif // VM_FLOW_GRAPH_OPTIMIZER_H_ |