summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-02-01 08:07:35 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-02-01 08:07:35 +0000
commit09822562e4f196d209b1a5a59609ea9e9cdb892f (patch)
tree500bdfc4ce1ec77a9775ec779396f956168c4ffb
parent3c2df916689b1c1d7a336451355fde085123b6d5 (diff)
re PR rtl-optimization/88593 (cleanup_cfg may make cached dominance info stale)
2019-02-01 Richard Biener <rguenth@suse.de> PR rtl-optimization/88593 * mode-switching.c (optimize_mode_switching): Free dominators before calling cleanup_cfg. From-SVN: r268442
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/mode-switching.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d4ee2a2754c..6b3437fe7b0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-02-01 Richard Biener <rguenth@suse.de>
+
+ PR rtl-optimization/88593
+ * mode-switching.c (optimize_mode_switching): Free dominators before
+ calling cleanup_cfg.
+
2019-02-01 Bin Cheng <bin.cheng@linux.alibaba.com>
PR tree-optimization/88932
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index ef6f6e1984c..2ff21a40081 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -856,7 +856,10 @@ optimize_mode_switching (void)
commit_edge_insertions ();
if (targetm.mode_switching.entry && targetm.mode_switching.exit)
- cleanup_cfg (CLEANUP_NO_INSN_DEL);
+ {
+ free_dominance_info (CDI_DOMINATORS);
+ cleanup_cfg (CLEANUP_NO_INSN_DEL);
+ }
else if (!need_commit && !emitted)
return 0;