auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right place.
authorDehao Chen <dehao@google.com>
Thu, 18 Dec 2014 00:19:24 +0000 (00:19 +0000)
committerDehao Chen <dehao@gcc.gnu.org>
Thu, 18 Dec 2014 00:19:24 +0000 (00:19 +0000)
gcc/ChangeLog:
2014-12-17  Dehao Chen  <dehao@google.com>

        * auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right
        place.
        (auto_profile): Recompute inline summary after processing cgraph node.

From-SVN: r218854

gcc/ChangeLog
gcc/auto-profile.c

index f9e1af53b42df68a2ae7f6d327741703abf01ae4..c315f63fc2c7127894f5c5976ad8053bd574a02d 100644 (file)
@@ -1,3 +1,9 @@
+2014-12-17  Dehao Chen  <dehao@google.com>
+
+       * auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right
+       place.
+       (auto_profile): Recompute inline summary after processing cgraph node.
+
 2014-12-17  Oleg Endo  <olegendo@gcc.gnu.org>
 
        PR target/51244
index 7055c4ac819ee5816ada3d73dd9a59a54ad06f30..085bbd6ec549d1ca0627b9050e224bf3b127b3e4 100644 (file)
@@ -1521,7 +1521,12 @@ afdo_annotate_cfg (const stmt_set &promoted_stmts)
       profile_status_for_fn (cfun) = PROFILE_READ;
     }
   if (flag_value_profile_transformations)
-    gimple_value_profile_transformations ();
+    {
+      gimple_value_profile_transformations ();
+      free_dominance_info (CDI_DOMINATORS);
+      free_dominance_info (CDI_POST_DOMINATORS);
+      update_ssa (TODO_update_ssa);
+    }
 }
 
 /* Wrapper function to invoke early inliner.  */
@@ -1599,7 +1604,6 @@ auto_profile (void)
     early_inline ();
     autofdo::afdo_annotate_cfg (promoted_stmts);
     compute_function_frequency ();
-    update_ssa (TODO_update_ssa);
 
     /* Local pure-const may imply need to fixup the cfg.  */
     if (execute_fixup_cfg () & TODO_cleanup_cfg)
@@ -1608,6 +1612,7 @@ auto_profile (void)
     free_dominance_info (CDI_DOMINATORS);
     free_dominance_info (CDI_POST_DOMINATORS);
     cgraph_edge::rebuild_edges ();
+    compute_inline_parameters (cgraph_node::get (current_function_decl), true);
     pop_cfun ();
   }