diff options
author | Richard Biener <rguenther@suse.de> | 2022-01-04 11:59:35 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-01-04 13:17:14 +0100 |
commit | ebc853deb7cc0487de9ef6e891a007ba853d1933 (patch) | |
tree | ff4a9fa8eb5948ec31be0b09adfaa64f9746c5be /gcc/tree-pass.h | |
parent | beed3f8f60492289ca6211d86c54a2254a642035 (diff) | |
download | gcc-ebc853deb7cc0487de9ef6e891a007ba853d1933.zip gcc-ebc853deb7cc0487de9ef6e891a007ba853d1933.tar.gz gcc-ebc853deb7cc0487de9ef6e891a007ba853d1933.tar.bz2 |
tree-optimization/103690 - not up-to-date SSA and PRE DCE
This avoids running simple_dce_from_worklist on partially not up-to-date
SSA form (in unreachable code regions) by scheduling CFG cleanup
manually as is done anyway when tail-merging runs.
2022-01-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/103690
* tree-pass.h (tail_merge_optimize): Adjust.
* tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
to re-split critical edges, move CFG cleanup ...
* tree-ssa-pre.c (pass_pre::execute): ... here, before
simple_dce_from_worklist and delay freeing inserted_exprs from
...
(fini_pre): .. here.
Diffstat (limited to 'gcc/tree-pass.h')
-rw-r--r-- | gcc/tree-pass.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h index eef1f3e..36097cf 100644 --- a/gcc/tree-pass.h +++ b/gcc/tree-pass.h @@ -412,7 +412,7 @@ extern gimple_opt_pass *make_pass_early_thread_jumps (gcc::context *ctxt); extern gimple_opt_pass *make_pass_split_crit_edges (gcc::context *ctxt); extern gimple_opt_pass *make_pass_laddress (gcc::context *ctxt); extern gimple_opt_pass *make_pass_pre (gcc::context *ctxt); -extern unsigned int tail_merge_optimize (unsigned int); +extern unsigned int tail_merge_optimize (unsigned int, bool); extern gimple_opt_pass *make_pass_profile (gcc::context *ctxt); extern gimple_opt_pass *make_pass_strip_predict_hints (gcc::context *ctxt); extern gimple_opt_pass *make_pass_lower_complex_O0 (gcc::context *ctxt); |