This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Enable reference removal for speculative edges
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 9 Sep 2013 08:14:16 +0200
- Subject: Enable reference removal for speculative edges
- Authentication-results: sourceware.org; auth=none
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