Message ID | 3d143159dde4d93c0de25d8d3b70f7c7858f1530.1479555873.git.segher@kernel.crashing.org |
---|---|
State | New |
Headers | show |
On Sat, Nov 19, 2016 at 12:49 PM, Segher Boessenkool <segher@kernel.crashing.org> wrote: > 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. > > Bootstrapped and checked on powerpc64-linux (also with --enable-checking=df). > Is this okay for trunk? Thanks, Ok. Richard. > > Segher > > > 2016-11-19 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. > > --- > gcc/shrink-wrap.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c > index f838696..59feca1 100644 > --- a/gcc/shrink-wrap.c > +++ b/gcc/shrink-wrap.c > @@ -1798,8 +1798,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 (); > @@ -1867,8 +1866,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 (); > } > -- > 1.9.3 >
diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c index f838696..59feca1 100644 --- a/gcc/shrink-wrap.c +++ b/gcc/shrink-wrap.c @@ -1798,8 +1798,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 (); @@ -1867,8 +1866,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 (); }