From c358412fe862074065968caec2e318a8b5d9f4ee Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Wed, 24 Jun 1998 21:49:34 +0000 Subject: [PATCH] local-alloc.c (block_alloc): Do not try to avoid false dependencies when SMALL_REGISTER_CLASSES is nonzero. * local-alloc.c (block_alloc): Do not try to avoid false dependencies when SMALL_REGISTER_CLASSES is nonzero. Fixes x86 performance regression. From-SVN: r20704 --- gcc/ChangeLog | 5 +++++ gcc/local-alloc.c | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e7b800f11d..e6bfeb55f04 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com) + + * local-alloc.c (block_alloc): Do not try to avoid false dependencies + when SMALL_REGISTER_CLASSES is nonzero. + Wed Jun 24 17:55:15 1998 Klaus Kaempf * alpha.md (call_vms, call_value_vms): Strip leading * from symbol. diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 960e83b5b5a..53a3b797261 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -1448,7 +1448,9 @@ block_alloc (b) This optimization is only appropriate when we will run a scheduling pass after reload and we are not optimizing for code size. */ - if (flag_schedule_insns_after_reload && !optimize_size) + if (flag_schedule_insns_after_reload + && !optimize_size + && !SMALL_REGISTER_CLASSES) { qty_phys_reg[q] = find_free_reg (qty_min_class[q], @@ -1467,7 +1469,9 @@ block_alloc (b) #ifdef INSN_SCHEDULING /* Similarly, avoid false dependencies. */ - if (flag_schedule_insns_after_reload && !optimize_size + if (flag_schedule_insns_after_reload + && !optimize_size + && !SMALL_REGISTER_CLASSES && qty_alternate_class[q] != NO_REGS) qty_phys_reg[q] = find_free_reg (qty_alternate_class[q], qty_mode[q], q, 0, 0, -- 2.30.2