[Bug tree-optimization/95679] [11 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in type_has_mode_precision_p, at tree.h:6231

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jul 29 10:34:36 GMT 2020


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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:8e8792a347c87dbb82b4cf75ec3452bc5cd1d3db

commit r11-2400-g8e8792a347c87dbb82b4cf75ec3452bc5cd1d3db
Author: Richard Biener <rguenther@suse.de>
Date:   Wed Jul 29 09:59:01 2020 +0200

    tree-optimization/95679 - properly signal changes from
propagate_into_phi_args

    This restores a lost setting of something_changed with the
    recent refactoring of the substitute and fold engine.  The
    reported ICE in the PR was meanwhile mitigated in other ways
    but the issue can still result in missed optimizations via
    failed runs of CFG cleanup.

    2020-07-29  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/95679
            * tree-ssa-propagate.h
            (substitute_and_fold_engine::propagate_into_phi_args): Return
            whether anything changed.
            * tree-ssa-propagate.c
            (substitute_and_fold_engine::propagate_into_phi_args): Likewise.
            (substitute_and_fold_dom_walker::before_dom_children): Update
            something_changed.


More information about the Gcc-bugs mailing list