aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-pass.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2022-01-04 11:59:35 +0100
committerRichard Biener <rguenther@suse.de>2022-01-04 13:17:14 +0100
commitebc853deb7cc0487de9ef6e891a007ba853d1933 (patch)
treeff4a9fa8eb5948ec31be0b09adfaa64f9746c5be /gcc/tree-pass.h
parentbeed3f8f60492289ca6211d86c54a2254a642035 (diff)
downloadgcc-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.h2
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);