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]

Re: Fix IPCP's propagation of constants to versioned functions


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.
----


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