diff options
author | Richard Biener <rguenther@suse.de> | 2020-07-29 09:59:01 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-07-29 12:34:29 +0200 |
commit | 8e8792a347c87dbb82b4cf75ec3452bc5cd1d3db (patch) | |
tree | dbdb0c30128a41f48623c05e8b7dbc42641df2d8 /gcc/tree-ssa-propagate.h | |
parent | 6de5600a8bd1ef0ad3d57670efdcc68bb3484276 (diff) | |
download | gcc-8e8792a347c87dbb82b4cf75ec3452bc5cd1d3db.zip gcc-8e8792a347c87dbb82b4cf75ec3452bc5cd1d3db.tar.gz gcc-8e8792a347c87dbb82b4cf75ec3452bc5cd1d3db.tar.bz2 |
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.
Diffstat (limited to 'gcc/tree-ssa-propagate.h')
-rw-r--r-- | gcc/tree-ssa-propagate.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-propagate.h b/gcc/tree-ssa-propagate.h index 24de43e..9406cdf 100644 --- a/gcc/tree-ssa-propagate.h +++ b/gcc/tree-ssa-propagate.h @@ -115,7 +115,7 @@ class substitute_and_fold_engine virtual void pre_fold_stmt (gimple *) { } virtual void post_new_stmt (gimple *) { } - void propagate_into_phi_args (basic_block); + bool propagate_into_phi_args (basic_block); /* Users like VRP can set this when they want to perform folding for every propagation. */ |