diff options
author | Bill Schmidt <wschmidt@linux.ibm.com> | 2019-03-08 19:47:05 +0000 |
---|---|---|
committer | William Schmidt <wschmidt@gcc.gnu.org> | 2019-03-08 19:47:05 +0000 |
commit | 792deebfe42e6abf4fa79e6f34882a773d06bb13 (patch) | |
tree | 799a288304861bef5cb7882083ece732e8a4a465 /gcc | |
parent | 6fbaad21546a628edfc44ba6b2db419504d16203 (diff) | |
download | gcc-792deebfe42e6abf4fa79e6f34882a773d06bb13.zip gcc-792deebfe42e6abf4fa79e6f34882a773d06bb13.tar.gz gcc-792deebfe42e6abf4fa79e6f34882a773d06bb13.tar.bz2 |
rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild ud- and du-chains between phases.
2019-03-08 Bill Schmidt <wschmidt@linux.ibm.com>
* config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild
ud- and du-chains between phases.
From-SVN: r269505
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-p8swap.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc347dc..15910aa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-03-08 Bill Schmidt <wschmidt@linux.ibm.com> + + * config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild + ud- and du-chains between phases. + 2019-03-08 Richard Sandiford <richard.sandiford@arm.com> PR debug/89631 diff --git a/gcc/config/rs6000/rs6000-p8swap.c b/gcc/config/rs6000/rs6000-p8swap.c index bb9c167..c3b9831 100644 --- a/gcc/config/rs6000/rs6000-p8swap.c +++ b/gcc/config/rs6000/rs6000-p8swap.c @@ -2316,7 +2316,14 @@ rs6000_analyze_swaps (function *fun) /* Pre-pass to recombine lvx and stvx patterns so we don't lose info. */ recombine_lvx_stvx_patterns (fun); + + /* Rebuild ud- and du-chains. */ + df_remove_problem (df_chain); df_process_deferred_rescans (); + df_set_flags (DF_RD_PRUNE_DEAD_DEFS); + df_chain_add_problem (DF_DU_CHAIN | DF_UD_CHAIN); + df_analyze (); + df_set_flags (DF_DEFER_INSN_RESCAN); /* Allocate structure to represent webs of insns. */ insn_entry = XCNEWVEC (swap_web_entry, get_max_uid ()); |