aboutsummaryrefslogtreecommitdiff
path: root/gcc/regclass.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r--gcc/regclass.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c
index a67d91e..e8eca4d 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -829,9 +829,14 @@ scan_one_insn (insn, pass)
if (code == NOTE)
{
if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_BEG)
- loop_depth++, loop_cost = 1 << (2 * MIN (loop_depth, 5));
+ loop_depth++;
else if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END)
- loop_depth--, loop_cost = 1 << (2 * MIN (loop_depth, 5));
+ loop_depth--;
+
+ if (optimize_size)
+ loop_cost = 1;
+ else
+ loop_cost = 1 << (2 * MIN (loop_depth, 5));
return insn;
}