summaryrefslogtreecommitdiff
path: root/gcc/regclass.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>2000-01-04 18:46:46 +0000
committerJeff Law <law@gcc.gnu.org>2000-01-04 11:46:46 -0700
commit399b9016a73cf485b8f1863ae21e5cf06e6f6273 (patch)
tree81dd15ff782f14d4888a5108a41e02c705aef3b9 /gcc/regclass.c
parent64615302108ad099b80b6cccdf0e3ccdd988021c (diff)
downloadgcc-399b9016a73cf485b8f1863ae21e5cf06e6f6273.tar.gz
* regclass.c: Revert my Jan 4 change to loop cost computation.
From-SVN: r31210
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r--gcc/regclass.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c
index d1bcf30601c..1a45b244dc3 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -1100,17 +1100,13 @@ regclass (f, nregs, dump)
basic_block bb = BASIC_BLOCK (index);
/* Show that an insn inside a loop is likely to be executed three
- times more than insns outside a loop. This is much more
- aggressive than the assumptions made elsewhere and is being
- tried as an experiment.
-
- Note that a block's loop depth starts at zero, not one! We
- must not subract one from the loop depth as that could give
- a negative shift count below. */
+ times more than insns outside a loop. This is much more aggressive
+ than the assumptions made elsewhere and is being tried as an
+ experiment. */
if (optimize_size)
loop_cost = 1;
else
- loop_cost = 1 << (2 * MIN (bb->loop_depth, 5));
+ loop_cost = 1 << (2 * MIN (bb->loop_depth - 1, 5));
for (insn = bb->head; ; insn = NEXT_INSN (insn))
{
insn = scan_one_insn (insn, pass);