diff options
author | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-03-19 17:33:45 +0000 |
---|---|---|
committer | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-03-19 17:33:45 +0000 |
commit | 771d46166087ea8e015d1cb02560aa6f212852f2 (patch) | |
tree | 65a46d02e15ddf767df696b9661692c68608064a /gcc/haifa-sched.c | |
parent | 794f0924f3b7a206875bd5f0cc86d002f8208d60 (diff) | |
download | gcc-771d46166087ea8e015d1cb02560aa6f212852f2.tar.gz |
* cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
instead of loop. Use HARD_REGISTER_NUM_P predicate.
* haifa-sched.c (setup_ref_regs): Ditto.
* caller-save.c (add_used_regs_1): Ditto.
* dse.c (look_for_hardregs): Ditto.
* df-problems.c (df_simulate_one_insn_forwards): Ditto.
* sched-rgn.c (check_live_1): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171183 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r-- | gcc/haifa-sched.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index e16561f4cb9..ea69254fc95 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -1,6 +1,6 @@ /* Instruction scheduling pass. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by, and currently maintained by, Jim Wilson (wilson@cygnus.com) @@ -672,11 +672,11 @@ setup_ref_regs (rtx x) if (REG_P (x)) { regno = REGNO (x); - if (regno >= FIRST_PSEUDO_REGISTER) - bitmap_set_bit (region_ref_regs, REGNO (x)); + if (HARD_REGISTER_NUM_P (regno)) + bitmap_set_range (region_ref_regs, regno, + hard_regno_nregs[regno][GET_MODE (x)]); else - for (i = hard_regno_nregs[regno][GET_MODE (x)] - 1; i >= 0; i--) - bitmap_set_bit (region_ref_regs, regno + i); + bitmap_set_bit (region_ref_regs, REGNO (x)); return; } fmt = GET_RTX_FORMAT (code); |