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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:c7e9019681857b329bbe4c1e7ec8dec8c736c0fe

commit r10-7274-gc7e9019681857b329bbe4c1e7ec8dec8c736c0fe
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Thu Mar 19 10:24:16 2020 +0100

    phiopt: Avoid -fcompare-debug bug in phiopt [PR94211]

    Two years ago, I've added support for up to 2 simple preparation statements
    in value_replacement, but the
    -      && estimate_num_insns (assign, &eni_time_weights)
    +      && estimate_num_insns (bb_seq (middle_bb), &eni_time_weights)
    change, meant that we compute the cost of all those statements rather than
    just the single assign that has been the single supported non-debug
    statement in the bb before, doesn't do what I thought would do, gimple_seq
    is just gimple * and thus it can't be really overloaded depending on
whether
    we pass a single gimple * or a whole sequence.  Which means in the last
    two years it doesn't count all the statements, but only the first one.
    With -g that happens to be a DEBUG_STMT, or it could be e.g. the first
    preparation statement which could be much cheaper than the actual assign.

    2020-03-19  Jakub Jelinek  <ja...@redhat.com>

            PR tree-optimization/94211
            * tree-ssa-phiopt.c (value_replacement): Use estimate_num_insns_seq
            instead of estimate_num_insns for bb_seq (middle_bb).  Rename
            emtpy_or_with_defined_p variable to empty_or_with_defined_p, adjust
            all uses.

            * gcc.dg/pr94211.c: New test.

Reply via email to