This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix IPCP's propagation of constants to versioned functions
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "Jan Hubicka" <jh at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 23 Aug 2008 19:47:39 -0700
- Subject: Re: Fix IPCP's propagation of constants to versioned functions
- References: <20080823221129.GT9952@kam.mff.cuni.cz>
On Sat, Aug 23, 2008 at 3:11 PM, Jan Hubicka <jh@suse.cz> wrote:
> Hi,
> some testcases in testsupte now breaks with IPCP enabled, because we try to
> replace SSA names by non-gimple invariants. This patch puts IPCP out of
> busyness of updating clonned function to replace arguments by constants and use
> instead existing logic in setup_one_argument that does all the neccesary
> gimplification and casts and works in all cases.
>
> Bootstrapped/regtested x86_64-linux with ipcp enabled; will commit it after
> re-testing with ipcp disabled.
>
> * ipa-cp.c (constant_val_insert): Remove.
> (ipcp_propagate_one_const): Remove.
> (ipcp_create_replace_map): Always insert replacements to the map.
> (ipcp_insert_stage): Do not try to insert statements by hand.
> * tree-inline.c (insert_init_stmt): Break out from ...
> (setup_one_parameter): ... here; allow NULL BB pointer.
> (tree_function_versioning): Use setup_one_parameter to process
> replacement map.
Hi,
This patch caused
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37218
H.J.
----