Chromium Code Reviews| Index: runtime/vm/compiler.cc |
| diff --git a/runtime/vm/compiler.cc b/runtime/vm/compiler.cc |
| index ed72ea0cac11468664297c04ba2c2529bfe72bd8..20a816c8564372e880e453a8a2d3284650ff9f00 100644 |
| --- a/runtime/vm/compiler.cc |
| +++ b/runtime/vm/compiler.cc |
| @@ -165,6 +165,7 @@ static bool CompileParsedFunctionHelper(const ParsedFunction& parsed_function, |
| // Transform to SSA. |
| if (optimized) { |
| flow_graph->ComputeSSA(); |
| + flow_graph->ComputeUseLists(); |
| } |
| if (FLAG_print_flow_graph) { |
| @@ -181,22 +182,27 @@ static bool CompileParsedFunctionHelper(const ParsedFunction& parsed_function, |
| if (optimized) { |
| FlowGraphOptimizer optimizer(*flow_graph); |
| optimizer.ApplyICData(); |
| + ASSERT(flow_graph->ComputeUseLists()); |
|
Vyacheslav Egorov (Google)
2012/08/23 13:51:10
ASSERT is compiled out in Release mode so this wil
|
| // Propagate types and eliminate more type tests. |
| FlowGraphTypePropagator propagator(*flow_graph); |
| propagator.PropagateTypes(); |
| + ASSERT(flow_graph->ComputeUseLists()); |
| // Do optimizations that depend on the propagated type information. |
| optimizer.OptimizeComputations(); |
| + ASSERT(flow_graph->ComputeUseLists()); |
| if (FLAG_local_cse) { |
| LocalCSE local_cse(*flow_graph); |
| local_cse.Optimize(); |
| + ASSERT(flow_graph->ComputeUseLists()); |
| } |
| // Perform register allocation on the SSA graph. |
| FlowGraphAllocator allocator(*flow_graph); |
| allocator.AllocateRegisters(); |
| + ASSERT(flow_graph->ComputeUseLists()); |
| if (FLAG_print_flow_graph) { |
| OS::Print("After Optimizations:\n"); |