diff options
author | Anatoly Sokolov <aesok@post.ru> | 2011-08-23 00:26:26 +0400 |
---|---|---|
committer | Anatoly Sokolov <aesok@gcc.gnu.org> | 2011-08-23 00:26:26 +0400 |
commit | c4831cff11fca2cee74ea2d039070a9507f13779 (patch) | |
tree | aae9fef3887d712b43ee7f9d6e459b6f750cd145 /gcc/config/m32c/m32c.c | |
parent | 8b46e440e312cf2f6c01422ec7c6446b21ada9e8 (diff) | |
download | gcc-c4831cff11fca2cee74ea2d039070a9507f13779.zip gcc-c4831cff11fca2cee74ea2d039070a9507f13779.tar.gz gcc-c4831cff11fca2cee74ea2d039070a9507f13779.tar.bz2 |
m32c.h (CLASS_MAX_NREGS): Remove macro.
* config/m32c/m32c.h (CLASS_MAX_NREGS): Remove macro.
* config/m32c/m32c-protos.h (m32c_class_max_nregs): Remove.
* config/m32c/m32c.c (m32c_class_max_nregs): Make static. Change
regclass argument type to reg_class_t. Change 'max' and 'v' vars
and return types to unsigned char. Use reg_class_contents instead
of class_contents.
(TARGET_CLASS_MAX_NREGS): Define.
From-SVN: r177971
Diffstat (limited to 'gcc/config/m32c/m32c.c')
-rw-r--r-- | gcc/config/m32c/m32c.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c index 39d8ede..7040df6 100644 --- a/gcc/config/m32c/m32c.c +++ b/gcc/config/m32c/m32c.c @@ -859,18 +859,23 @@ m32c_class_likely_spilled_p (reg_class_t regclass) return (reg_class_size[(int) regclass] == 1); } -/* Implements CLASS_MAX_NREGS. We calculate this according to its +/* Implements TARGET_CLASS_MAX_NREGS. We calculate this according to its documented meaning, to avoid potential inconsistencies with actual class definitions. */ -int -m32c_class_max_nregs (int regclass, enum machine_mode mode) + +#undef TARGET_CLASS_MAX_NREGS +#define TARGET_CLASS_MAX_NREGS m32c_class_max_nregs + +static unsigned char +m32c_class_max_nregs (reg_class_t regclass, enum machine_mode mode) { - int rn, max = 0; + int rn; + unsigned char max = 0; for (rn = 0; rn < FIRST_PSEUDO_REGISTER; rn++) - if (class_contents[regclass][0] & (1 << rn)) + if (TEST_HARD_REG_BIT (reg_class_contents[(int) regclass], rn)) { - int n = m32c_hard_regno_nregs (rn, mode); + unsigned char n = m32c_hard_regno_nregs (rn, mode); if (max < n) max = n; } |