diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2019-09-30 16:20:30 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2019-09-30 16:20:30 +0000 |
commit | c92503717bd0c3a0706f8c9626c47d49d901063b (patch) | |
tree | 9c3753a137684133b3af3c2d8cf8e898e962e725 /gcc/df-scan.c | |
parent | 3bd2918594dae34ae84f802747471445a976af09 (diff) | |
download | gcc-c92503717bd0c3a0706f8c9626c47d49d901063b.zip gcc-c92503717bd0c3a0706f8c9626c47d49d901063b.tar.gz gcc-c92503717bd0c3a0706f8c9626c47d49d901063b.tar.bz2 |
Remove global call sets: DF (EH edges)
The DF dense_invalidated_by_call and sparse_invalidated_by_call
sets are actually only used on EH edges, and so are more the set
of registers that are invalidated by a taken EH edge. Under the
new order, that means that they describe eh_edge_abi.
2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* df-problems.c: Include regs.h and function-abi.h.
(df_rd_problem_data): Rename sparse_invalidated_by_call to
sparse_invalidated_by_eh and dense_invalidated_by_call to
dense_invalidated_by_eh.
(df_print_bb_index): Update accordingly.
(df_rd_alloc, df_rd_start_dump, df_rd_confluence_n): Likewise.
(df_lr_confluence_n): Use eh_edge_abi to get the set of registers
that are clobbered by an EH edge. Clobber partially-clobbered
registers as well as fully-clobbered ones.
(df_md_confluence_n): Likewise.
(df_rd_local_compute): Likewise. Update for changes to
df_rd_problem_data.
* df-scan.c (df_scan_start_dump): Use eh_edge_abi to get the set
of registers that are clobbered by an EH edge. Includde partially-
clobbered registers as well as fully-clobbered ones.
From-SVN: r276319
Diffstat (limited to 'gcc/df-scan.c')
-rw-r--r-- | gcc/df-scan.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/df-scan.c b/gcc/df-scan.c index 7ca1050..7dda4ca 100644 --- a/gcc/df-scan.c +++ b/gcc/df-scan.c @@ -312,8 +312,9 @@ df_scan_start_dump (FILE *file ATTRIBUTE_UNUSED) basic_block bb; rtx_insn *insn; - fprintf (file, ";; invalidated by call \t"); - df_print_regset (file, bitmap_view<HARD_REG_SET> (regs_invalidated_by_call)); + fprintf (file, ";; fully invalidated by EH \t"); + df_print_regset + (file, bitmap_view<HARD_REG_SET> (eh_edge_abi.full_reg_clobbers ())); fprintf (file, ";; hardware regs used \t"); df_print_regset (file, &df->hardware_regs_used); fprintf (file, ";; regular block artificial uses \t"); |