diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2019-09-09 18:01:55 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2019-09-09 18:01:55 +0000 |
commit | 0b0310e9a0e0d553bbe9f961c52e0851328aa8b0 (patch) | |
tree | b55a290cd07db453fa09113ece2802dd975b04fe /gcc/dse.c | |
parent | 148909bc700e4f52aa582346a29abc5bc51a9bda (diff) | |
download | gcc-0b0310e9a0e0d553bbe9f961c52e0851328aa8b0.zip gcc-0b0310e9a0e0d553bbe9f961c52e0851328aa8b0.tar.gz gcc-0b0310e9a0e0d553bbe9f961c52e0851328aa8b0.tar.bz2 |
Remove global REG_SETs
We currently maintain global REG_SET versions of fixed_reg_set
and regs_invalidated_by_call. With bitmap_view, we can instead
operate directly on the underlying HARD_REG_SETs, avoiding the
need to keep the two pieces of data in sync.
I have a series of patches that removes the assumption that there's
a single global ABI for all functions in the translation unit,
which includes not relying on having a global regs_invalidated_by_call.
Removing the REG_SET equivalent is one step to doing that.
Note that the affected DF code is used for EH edges or dumping only,
so shouldn't be performance critical.
2019-09-09 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* regset.h (regs_invalidated_by_call_regset): Delete.
(fixed_reg_set_regset): Likewise.
* reginfo.c (regs_invalidated_by_call_regset): Likewise.
(fixed_reg_set_regset, persistent_obstack): Likewise.
(init_reg_sets_1, globalize_reg): Update accordingly.
* df.h (df_print_regset, df_print_word_regset): Take a const_bitmap
instead of a bitmap.
* df-core.c (df_print_regset, df_print_word_regset): Likewise.
* df-problems.c (df_rd_local_compute): Use regs_invalidated_by_call
instead of regs_invalidated_by_call_regset.
(df_lr_confluence_n, df_md_confluence_n): Likewise.
* df-scan.c (df_scan_start_dump): Likewise.
* dse.c (copy_fixed_regs): Likewise.
* config/sh/sh.c (sh_find_equiv_gbr_addr): Likewise.
From-SVN: r275537
Diffstat (limited to 'gcc/dse.c')
-rw-r--r-- | gcc/dse.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -2392,7 +2392,7 @@ copy_fixed_regs (const_bitmap in) bitmap ret; ret = ALLOC_REG_SET (NULL); - bitmap_and (ret, in, fixed_reg_set_regset); + bitmap_and (ret, in, bitmap_view<HARD_REG_SET> (fixed_reg_set)); return ret; } |