Index: runtime/vm/compiler.cc |
diff --git a/runtime/vm/compiler.cc b/runtime/vm/compiler.cc |
index 60a66aba9969e7fa3b68b3671c19774e6d2a5275..557d61ce86758dd8d5caa7388953b656bdcfa90f 100644 |
--- a/runtime/vm/compiler.cc |
+++ b/runtime/vm/compiler.cc |
@@ -479,6 +479,10 @@ static bool CompileParsedFunctionHelper(ParsedFunction* parsed_function, |
DeadCodeElimination::EliminateDeadPhis(flow_graph); |
DEBUG_ASSERT(flow_graph->VerifyUseLists()); |
+ if (optimizer.Canonicalize()) { |
+ optimizer.Canonicalize(); |
srdjan
2014/07/17 23:08:14
Why another canonicalization?
Vyacheslav Egorov (Google)
2014/07/18 11:25:08
When writing tests I noticed that we often arrive
|
+ } |
+ |
// Attempt to sink allocations of temporary non-escaping objects to |
// the deoptimization path. |
AllocationSinking* sinking = NULL; |