diff options
author | Michael Matz <matz@suse.de> | 2002-07-24 20:52:26 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2002-07-24 20:52:26 +0000 |
commit | c560531806f36915bd7ed6eb7419af39e872092d (patch) | |
tree | 5ca39f15e4bf6f8b9e6a2753c3c64d27e4258d11 | |
parent | 51937d2c986f362de353e17daed695ad4a28ee32 (diff) | |
download | gcc-c560531806f36915bd7ed6eb7419af39e872092d.zip gcc-c560531806f36915bd7ed6eb7419af39e872092d.tar.gz gcc-c560531806f36915bd7ed6eb7419af39e872092d.tar.bz2 |
ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
* ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
(free_reg): Use it.
From-SVN: r55721
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ra-colorize.c | 15 |
2 files changed, 16 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c38eb7..ce11083 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-07-24 Michael Matz <matz@suse.de> + + * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro. + (free_reg): Use it. + 2002-07-24 Richard Earnshaw <rearnsha@arm.com> * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output diff --git a/gcc/ra-colorize.c b/gcc/ra-colorize.c index 297b419..f101eaa 100644 --- a/gcc/ra-colorize.c +++ b/gcc/ra-colorize.c @@ -1031,6 +1031,13 @@ color_usable_p (c, dont_begin_colors, free_colors, mode) return 0; } +/* I don't want to clutter up the actual code with ifdef's. */ +#ifdef REG_ALLOC_ORDER +#define INV_REG_ALLOC_ORDER(c) inv_reg_alloc_order[c] +#else +#define INV_REG_ALLOC_ORDER(c) c +#endif + /* Searches in FREE_COLORS for a block of hardregs of the right length for MODE, which doesn't begin at a hardreg mentioned in DONT_BEGIN_COLORS. If it needs more than one hardreg it prefers blocks beginning @@ -1065,16 +1072,16 @@ get_free_reg (dont_begin_colors, free_colors, mode) { if (size < 2 || (c & 1) == 0) { - if (inv_reg_alloc_order[c] < pref_reg_order) + if (INV_REG_ALLOC_ORDER (c) < pref_reg_order) { pref_reg = c; - pref_reg_order = inv_reg_alloc_order[c]; + pref_reg_order = INV_REG_ALLOC_ORDER (c); } } - else if (inv_reg_alloc_order[c] < last_resort_reg_order) + else if (INV_REG_ALLOC_ORDER (c) < last_resort_reg_order) { last_resort_reg = c; - last_resort_reg_order = inv_reg_alloc_order[c]; + last_resort_reg_order = INV_REG_ALLOC_ORDER (c); } } else |