aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-09-09 17:59:10 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-09-09 17:59:10 +0000
commit50b3f54d551787e0a066451ef60ef3b055a893e6 (patch)
treeb8072c5a072c571f7f8507ee28b4c867d9f176e5 /gcc/config
parent6576d245386e2ce52df274ef8f2ffed81cfaa1c3 (diff)
downloadgcc-50b3f54d551787e0a066451ef60ef3b055a893e6.zip
gcc-50b3f54d551787e0a066451ef60ef3b055a893e6.tar.gz
gcc-50b3f54d551787e0a066451ef60ef3b055a893e6.tar.bz2
Remove COMPL_HARD_REG_SET
"COMPL_HARD_REG_SET (x, y)" becomes "x = ~y". 2019-09-09 Richard Sandiford <richard.sandiford@arm.com> gcc/ * hard-reg-set.h (HARD_REG_SET::operator~): New function. (COMPL_HARD_REG_SET): Delete. * config/c6x/c6x.c (c6x_call_saved_register_used): Use ~ instead of COMPL_HARD_REG_SET. (try_rename_operands): Likewise. * config/sh/sh.c (push_regs): Likewise. * lra-assigns.c (find_hard_regno_for_1): Likewise. * lra-constraints.c (contains_reg_p): Likewise. * reload1.c (finish_spills, choose_reload_regs_init): Likewise. From-SVN: r275529
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/c6x/c6x.c4
-rw-r--r--gcc/config/sh/sh.c5
2 files changed, 3 insertions, 6 deletions
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c
index 05b111e..f6a4518 100644
--- a/gcc/config/c6x/c6x.c
+++ b/gcc/config/c6x/c6x.c
@@ -1094,7 +1094,7 @@ c6x_call_saved_register_used (tree call_expr)
INIT_CUMULATIVE_ARGS (cum_v, NULL, NULL, 0, 0);
cum = pack_cumulative_args (&cum_v);
- COMPL_HARD_REG_SET (call_saved_regset, call_used_reg_set);
+ call_saved_regset = ~call_used_reg_set;
for (i = 0; i < call_expr_nargs (call_expr); i++)
{
parameter = CALL_EXPR_ARG (call_expr, i);
@@ -3472,7 +3472,7 @@ try_rename_operands (rtx_insn *head, rtx_insn *tail, unit_req_table reqs,
}
/* If we get here, we can do the renaming. */
- COMPL_HARD_REG_SET (unavailable, reg_class_contents[(int) super_class]);
+ unavailable = ~reg_class_contents[super_class];
old_reg = this_head->regno;
best_reg =
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index d1af580..4b70ac9 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -6908,11 +6908,8 @@ push_regs (HARD_REG_SET *mask, bool interrupt_handler)
if (i == FIRST_FP_REG && interrupt_handler && TARGET_FMOVD
&& hard_reg_set_intersect_p (*mask, reg_class_contents[DF_REGS]))
{
- HARD_REG_SET unsaved;
-
push (FPSCR_REG);
- COMPL_HARD_REG_SET (unsaved, *mask);
- fpscr_set_from_mem (NORMAL_MODE (FP_MODE), unsaved);
+ fpscr_set_from_mem (NORMAL_MODE (FP_MODE), ~*mask);
skip_fpscr = true;
}
if (i != PR_REG