https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93385

--- Comment #33 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Jambor <jamb...@gcc.gnu.org>:

https://gcc.gnu.org/g:375a77925c320a273d3b1ef3182f29f31aaa8edf

commit r11-38-g375a77925c320a273d3b1ef3182f29f31aaa8edf
Author: Martin Jambor <mjam...@suse.cz>
Date:   Mon May 4 13:53:54 2020 +0200

    tree-inline: Simplify IPA-CP type conversion (PR 93385)

    when callers and callees do not quite agree on the type of a
    parameter, usually with ill-defined K&R or with smilarly wrong LTO
    input, IPA-CP can attempt to try and substitute a wrong type for a
    parameter (see e.g. gcc.dg/torture/pr48063.c).  Function
    tree_function_versioning attempts to handle this in order not to
    create invalid gimple but it then creates the mapping using
    setup_one_parameter which also handles the same situation to avoid
    similar problems when inlining and in more defined way.

    So this patch simply removes the conversion attempts in
    tree_function_versioning itself.  It is helpful for my upcoming fix of
    PR 93385 because then I do not need to teach
    ipa_param_body_adjustments to distinguish between successful and
    unsuccessful mappings - setup_one_parameter uses force_value_to_type
    for conversions which simly maps the worst cases to zero.

    2020-05-04  Martin Jambor  <mjam...@suse.cz>

            PR ipa/93385
            * tree-inline.c (tree_function_versioning): Leave any type
conversion
            of replacements to setup_one_parameter and its friend
            force_value_to_type.

Reply via email to