Patchwork Enable reference removal for speculative edges

login
register
mail settings
Submitter Jan Hubicka
Date Sept. 9, 2013, 6:14 a.m.
Message ID <20130909061416.GB10568@kam.mff.cuni.cz>
Download mbox | patch
Permalink /patch/273492/
State New
Headers show

Comments

Jan Hubicka - Sept. 9, 2013, 6:14 a.m.
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.

Patch

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