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 /gcc/mode-switching.c | |
parent | 3c2df916689b1c1d7a336451355fde085123b6d5 (diff) | |
download | gcc-09822562e4f196d209b1a5a59609ea9e9cdb892f.zip gcc-09822562e4f196d209b1a5a59609ea9e9cdb892f.tar.gz gcc-09822562e4f196d209b1a5a59609ea9e9cdb892f.tar.bz2 |
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
Diffstat (limited to 'gcc/mode-switching.c')
-rw-r--r-- | gcc/mode-switching.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c index ef6f6e1..2ff21a4 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; |