summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>2016-11-21 14:44:21 +0000
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>2016-11-21 14:44:21 +0000
commitb1aa5f6d2168bcbc39166dbca15a415cf67451e9 (patch)
treeb6c676bac2c352579ca3bab6df0af12fb33e8286
parentf1b3e1c9e011344e640faafea61fb79748a7aca5 (diff)
downloadgcc-b1aa5f6d2168bcbc39166dbca15a415cf67451e9.tar.gz
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
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/shrink-wrap.c6
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 <segher@kernel.crashing.org>
+
+ 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 <bernd.edlinger@hotmail.de>
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 ();
}