From b1aa5f6d2168bcbc39166dbca15a415cf67451e9 Mon Sep 17 00:00:00 2001 From: segher Date: Mon, 21 Nov 2016 14:44:21 +0000 Subject: [PATCH] shrink-wrap: Fix problem with DF checking (PR78400) With my previous patch the compiler ICEs if you use --enable-checking=df. This patch fixes it, by calling df_update_entry_exit_and_calls instead of df_update_entry_block_defs and df_update_exit_block_uses. PR rtl-optimization/78400 * shrink-wrap.c (try_shrink_wrapping_separate): Call df_update_entry_exit_and_calls instead of df_update_entry_block_defs and df_update_exit_block_uses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242663 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 +++++++ gcc/shrink-wrap.c | 6 ++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 53526b50154..a8bc9376ecb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-11-21 Segher Boessenkool + + PR rtl-optimization/78400 + * shrink-wrap.c (try_shrink_wrapping_separate): Call + df_update_entry_exit_and_calls instead of df_update_entry_block_defs + and df_update_exit_block_uses. + 2016-11-21 Bernd Edlinger PR c++/71973 diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c index 6996d25db4a..8803200fbe0 100644 --- a/gcc/shrink-wrap.c +++ b/gcc/shrink-wrap.c @@ -1687,8 +1687,7 @@ try_shrink_wrapping_separate (basic_block first_bb) the register for that component is in the IN or GEN or KILL set for that block. */ df_scan->local_flags |= DF_SCAN_EMPTY_ENTRY_EXIT; - df_update_entry_block_defs (); - df_update_exit_block_uses (); + df_update_entry_exit_and_calls (); df_live_add_problem (); df_live_set_all_dirty (); df_analyze (); @@ -1756,8 +1755,7 @@ try_shrink_wrapping_separate (basic_block first_bb) /* All done. */ df_scan->local_flags &= ~DF_SCAN_EMPTY_ENTRY_EXIT; - df_update_entry_block_defs (); - df_update_exit_block_uses (); + df_update_entry_exit_and_calls (); df_live_set_all_dirty (); df_analyze (); } -- 2.11.4.GIT