diff options
author | segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-11-21 14:44:21 +0000 |
---|---|---|
committer | segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-11-21 14:44:21 +0000 |
commit | b1aa5f6d2168bcbc39166dbca15a415cf67451e9 (patch) | |
tree | b6c676bac2c352579ca3bab6df0af12fb33e8286 | |
parent | f1b3e1c9e011344e640faafea61fb79748a7aca5 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | 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 <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 (); } |