aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2016-11-21 15:44:21 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2016-11-21 15:44:21 +0100
commit1c7926f64cb0c7603a42fe2e924825cca4c2fc06 (patch)
treeb6c676bac2c352579ca3bab6df0af12fb33e8286 /gcc
parent48330c9355e32a41f18556fc0ebccdfe2cc51044 (diff)
downloadgcc-1c7926f64cb0c7603a42fe2e924825cca4c2fc06.zip
gcc-1c7926f64cb0c7603a42fe2e924825cca4c2fc06.tar.gz
gcc-1c7926f64cb0c7603a42fe2e924825cca4c2fc06.tar.bz2
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. From-SVN: r242663
Diffstat (limited to 'gcc')
-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 53526b5..a8bc937 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 6996d25..8803200 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 ();
}