This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Enable reference removal for speculative edges


Hi,
this hack I put on place since ipa-prop was breaking without it.  Martin fixed the problem
and I tested it can now be removed for Firefx build.

Bootstrapped/regtested x86_64-linux, comitted.

	* ipa-prop.c (try_make_edge_direct_simple_call): Do not special case
	speculative edges.

Index: ipa-prop.c
===================================================================
--- ipa-prop.c	(revision 202368)
+++ ipa-prop.c	(working copy)
@@ -2586,7 +2586,6 @@ try_make_edge_direct_simple_call (struct
   struct cgraph_edge *cs;
   tree target;
   bool agg_contents = ie->indirect_info->agg_contents;
-  bool speculative = ie->speculative;
 
   if (ie->indirect_info->agg_contents)
     target = ipa_find_agg_cst_for_param (&jfunc->agg,
@@ -2598,8 +2597,7 @@ try_make_edge_direct_simple_call (struct
     return NULL;
   cs = ipa_make_edge_direct_to_target (ie, target);
 
-  /* FIXME: speculative edges can be handled.  */
-  if (cs && !agg_contents && !speculative)
+  if (cs && !agg_contents)
     {
       bool ok;
       gcc_checking_assert (cs->callee


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]