aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1998-05-14 00:50:07 +0000
committerJeff Law <law@gcc.gnu.org>1998-05-13 18:50:07 -0600
commit9dd07f87f3093bf14120a0e7587546c39ec71ef3 (patch)
treedd32428590bb60ec48b51dac14e7db8e926196b6 /gcc/loop.c
parent029b38ff0437ff2ea5fc84c8e026d6f055727194 (diff)
downloadgcc-9dd07f87f3093bf14120a0e7587546c39ec71ef3.zip
gcc-9dd07f87f3093bf14120a0e7587546c39ec71ef3.tar.gz
gcc-9dd07f87f3093bf14120a0e7587546c39ec71ef3.tar.bz2
* loop.c (scan_loop): Don't call move_moveables for optimize_size.
From-SVN: r19736
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index 6765b20..9625feb 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -1063,10 +1063,14 @@ scan_loop (loop_start, end, nregs, unroll_p)
combine_movables (movables, nregs);
/* Now consider each movable insn to decide whether it is worth moving.
- Store 0 in n_times_set for each reg that is moved. */
+ Store 0 in n_times_set for each reg that is moved.
- move_movables (movables, threshold,
- insn_count, loop_start, end, nregs);
+ Generally this increases code size, so do not move moveables when
+ optimizing for code size. */
+
+ if (! optimize_size)
+ move_movables (movables, threshold,
+ insn_count, loop_start, end, nregs);
/* Now candidates that still are negative are those not moved.
Change n_times_set to indicate that those are not actually invariant. */