| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 #if !defined(DART_PRECOMPILED_RUNTIME) | 4 #if !defined(DART_PRECOMPILED_RUNTIME) |
| 5 #include "vm/flow_graph_inliner.h" | 5 #include "vm/flow_graph_inliner.h" |
| 6 | 6 |
| 7 #include "vm/aot_optimizer.h" | 7 #include "vm/aot_optimizer.h" |
| 8 #include "vm/precompiler.h" | 8 #include "vm/precompiler.h" |
| 9 #include "vm/block_scheduler.h" | 9 #include "vm/block_scheduler.h" |
| 10 #include "vm/branch_optimizer.h" | 10 #include "vm/branch_optimizer.h" |
| (...skipping 904 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 915 FlowGraphTypePropagator::Propagate(callee_graph); | 915 FlowGraphTypePropagator::Propagate(callee_graph); |
| 916 DEBUG_ASSERT(callee_graph->VerifyUseLists()); | 916 DEBUG_ASSERT(callee_graph->VerifyUseLists()); |
| 917 | 917 |
| 918 optimizer.ApplyICData(); | 918 optimizer.ApplyICData(); |
| 919 DEBUG_ASSERT(callee_graph->VerifyUseLists()); | 919 DEBUG_ASSERT(callee_graph->VerifyUseLists()); |
| 920 | 920 |
| 921 // Optimize (a << b) & c patterns, merge instructions. Must occur | 921 // Optimize (a << b) & c patterns, merge instructions. Must occur |
| 922 // before 'SelectRepresentations' which inserts conversion nodes. | 922 // before 'SelectRepresentations' which inserts conversion nodes. |
| 923 callee_graph->TryOptimizePatterns(); | 923 callee_graph->TryOptimizePatterns(); |
| 924 DEBUG_ASSERT(callee_graph->VerifyUseLists()); | 924 DEBUG_ASSERT(callee_graph->VerifyUseLists()); |
| 925 |
| 926 callee_graph->Canonicalize(); |
| 925 } | 927 } |
| 926 } | 928 } |
| 927 | 929 |
| 928 if (FLAG_support_il_printer && trace_inlining() && | 930 if (FLAG_support_il_printer && trace_inlining() && |
| 929 (FLAG_print_flow_graph || FLAG_print_flow_graph_optimized)) { | 931 (FLAG_print_flow_graph || FLAG_print_flow_graph_optimized)) { |
| 930 THR_Print("Callee graph for inlining %s\n", | 932 THR_Print("Callee graph for inlining %s\n", |
| 931 function.ToFullyQualifiedCString()); | 933 function.ToFullyQualifiedCString()); |
| 932 FlowGraphPrinter printer(*callee_graph); | 934 FlowGraphPrinter printer(*callee_graph); |
| 933 printer.PrintBlocks(); | 935 printer.PrintBlocks(); |
| 934 } | 936 } |
| (...skipping 2720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3655 } | 3657 } |
| 3656 | 3658 |
| 3657 default: | 3659 default: |
| 3658 return false; | 3660 return false; |
| 3659 } | 3661 } |
| 3660 } | 3662 } |
| 3661 | 3663 |
| 3662 | 3664 |
| 3663 } // namespace dart | 3665 } // namespace dart |
| 3664 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 3666 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| OLD | NEW |