diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-29 21:37:01 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-29 21:37:01 +0000 |
commit | dedfd6698f05d131adf09d2e5dcd443b8f200666 (patch) | |
tree | e02eed9bc7c37428344f533ee75aa2a75b30fdf6 /gcc/ira.c | |
parent | 09c509edcc2f6e6859f02de43ce0fe10a941a8d7 (diff) | |
download | gcc-dedfd6698f05d131adf09d2e5dcd443b8f200666.tar.gz |
PR target/42895
* doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
(HONOR_REG_ALLOC_ORDER): Describe new macro.
* ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
* ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
account only if HONOR_REG_ALLOC_ORDER is not defined.
* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
* system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158911 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira.c')
-rw-r--r-- | gcc/ira.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/ira.c b/gcc/ira.c index ce0f0da0fcd..8e34392adc3 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -431,9 +431,6 @@ setup_class_hard_regs (void) HARD_REG_SET processed_hard_reg_set; ira_assert (SHRT_MAX >= FIRST_PSEUDO_REGISTER); - /* We could call ORDER_REGS_FOR_LOCAL_ALLOC here (it is usually - putting hard callee-used hard registers first). But our - heuristics work better. */ for (cl = (int) N_REG_CLASSES - 1; cl >= 0; cl--) { COPY_HARD_REG_SET (temp_hard_regset, reg_class_contents[cl]); @@ -490,6 +487,9 @@ setup_available_class_regs (void) static void setup_alloc_regs (bool use_hard_frame_p) { +#ifdef ADJUST_REG_ALLOC_ORDER + ADJUST_REG_ALLOC_ORDER; +#endif COPY_HARD_REG_SET (no_unit_alloc_regs, fixed_reg_set); if (! use_hard_frame_p) SET_HARD_REG_BIT (no_unit_alloc_regs, HARD_FRAME_POINTER_REGNUM); |