diff options
author | Richard Biener <rguenther@suse.de> | 2019-02-01 08:07:35 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-02-01 08:07:35 +0000 |
commit | 09822562e4f196d209b1a5a59609ea9e9cdb892f (patch) | |
tree | 500bdfc4ce1ec77a9775ec779396f956168c4ffb | |
parent | 3c2df916689b1c1d7a336451355fde085123b6d5 (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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/mode-switching.c | 5 |
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; |