diff options
author | dalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-28 19:25:49 +0000 |
---|---|---|
committer | dalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-28 19:25:49 +0000 |
commit | a576091379944a53645cd7d227d784dce94ba8d0 (patch) | |
tree | 6d82077d573f3479764a7ac71bd2fcff5afe6198 /gcc/loop.c | |
parent | 09e210d66a790008e98bfccccf2499b17dd5859b (diff) | |
download | gcc-a576091379944a53645cd7d227d784dce94ba8d0.tar.gz |
2003-01-28 Dale Johannesen <dalej@apple.com>
* emit-rtl.c (const_double_htab_hash): Use mode in the hash.
* loop.c (scan_loop): Move movables on -Os rich-register targets.
* config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62004 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop.c')
-rw-r--r-- | gcc/loop.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/loop.c b/gcc/loop.c index 50c1692c449..b366b542445 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -1108,10 +1108,12 @@ scan_loop (loop, flags) /* Now consider each movable insn to decide whether it is worth moving. Store 0 in regs->array[I].set_in_loop for each reg I that is moved. - Generally this increases code size, so do not move moveables when - optimizing for code size. */ + For machines with few registers this increases code size, so do not + move moveables when optimizing for code size on such machines. + (The 18 below is the value for i386.) */ - if (! optimize_size) + if (!optimize_size + || (reg_class_size[GENERAL_REGS] > 18 && !loop_info->has_call)) { move_movables (loop, movables, threshold, insn_count); |