diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2019-09-09 17:59:10 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2019-09-09 17:59:10 +0000 |
commit | 50b3f54d551787e0a066451ef60ef3b055a893e6 (patch) | |
tree | b8072c5a072c571f7f8507ee28b4c867d9f176e5 /gcc/hard-reg-set.h | |
parent | 6576d245386e2ce52df274ef8f2ffed81cfaa1c3 (diff) |
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/hard-reg-set.h')
-rw-r--r-- | gcc/hard-reg-set.h | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h index 3d6eef22037..ca663e82ae9 100644 --- a/gcc/hard-reg-set.h +++ b/gcc/hard-reg-set.h @@ -53,6 +53,15 @@ typedef const HARD_REG_SET const_hard_reg_set; struct HARD_REG_SET { + HARD_REG_SET + operator~ () const + { + HARD_REG_SET res; + for (unsigned int i = 0; i < ARRAY_SIZE (elts); ++i) + res.elts[i] = ~elts[i]; + return res; + } + HARD_REG_ELT_TYPE elts[HARD_REG_SET_LONGS]; }; typedef const HARD_REG_SET &const_hard_reg_set; @@ -83,11 +92,6 @@ struct hard_reg_set_container CLEAR_HARD_REG_SET and SET_HARD_REG_SET. These take just one argument. - Also define macros for copying the complement of a hard reg set: - COMPL_HARD_REG_SET. - This takes two arguments TO and FROM; it reads from FROM - and stores into TO. - Also define macros for combining hard reg sets: IOR_HARD_REG_SET and AND_HARD_REG_SET. These take two arguments TO and FROM; they read from FROM @@ -116,8 +120,6 @@ struct hard_reg_set_container #define CLEAR_HARD_REG_SET(TO) ((TO) = HARD_CONST (0)) #define SET_HARD_REG_SET(TO) ((TO) = ~ HARD_CONST (0)) -#define COMPL_HARD_REG_SET(TO, FROM) ((TO) = ~(FROM)) - #define IOR_HARD_REG_SET(TO, FROM) ((TO) |= (FROM)) #define IOR_COMPL_HARD_REG_SET(TO, FROM) ((TO) |= ~ (FROM)) #define AND_HARD_REG_SET(TO, FROM) ((TO) &= (FROM)) @@ -185,13 +187,6 @@ SET_HARD_REG_SET (HARD_REG_SET &set) } inline void -COMPL_HARD_REG_SET (HARD_REG_SET &to, const_hard_reg_set from) -{ - for (unsigned int i = 0; i < ARRAY_SIZE (to.elts); ++i) - to.elts[i] = ~from.elts[i]; -} - -inline void AND_HARD_REG_SET (HARD_REG_SET &to, const_hard_reg_set from) { for (unsigned int i = 0; i < ARRAY_SIZE (to.elts); ++i) |