diff options
author | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-23 04:53:48 +0000 |
---|---|---|
committer | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-23 04:53:48 +0000 |
commit | 2f59f8b223b249352a6e3e740bda3d289f42e6c5 (patch) | |
tree | b2c906a5834e8a57edba5eff762f36253c809198 /gcc/reload1.c | |
parent | 9d412a718b99e0663927176627b72b16e523c803 (diff) | |
download | gcc-2f59f8b223b249352a6e3e740bda3d289f42e6c5.tar.gz |
PR target/18511
* reload1.c (emit_output_reload_insns): Check if OLD is a hard
register before calling regno_clobbered_p.
* reload.c: Update comment for regno_clobbered_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92531 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index c90c8b61eea..1fec0cdcc43 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6705,7 +6705,8 @@ emit_output_reload_insns (struct insn_chain *chain, struct reload *rl, || !(set = single_set (insn)) || rtx_equal_p (old, SET_DEST (set)) || !reg_mentioned_p (old, SET_SRC (set)) - || !regno_clobbered_p (REGNO (old), insn, rl->mode, 0)) + || !((REGNO (old) < FIRST_PSEUDO_REGISTER) + && regno_clobbered_p (REGNO (old), insn, rl->mode, 0))) gen_reload (old, reloadreg, rl->opnum, rl->when_needed); } |