diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-06-26 07:20:30 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2005-06-26 07:20:30 +0200 |
commit | 03fd9aa2c7184aa67dbbbd9f1d546f395e0c67be (patch) | |
tree | d6a8888b030865f9765f3c891a74c2ae292e474b /gcc/regrename.c | |
parent | f62c8a5c7996b97c736e3242de0d5527ec299a34 (diff) | |
download | gcc-03fd9aa2c7184aa67dbbbd9f1d546f395e0c67be.zip gcc-03fd9aa2c7184aa67dbbbd9f1d546f395e0c67be.tar.gz gcc-03fd9aa2c7184aa67dbbbd9f1d546f395e0c67be.tar.bz2 |
regrename.c (copy_value): Don't replace fixed or global regs with older regs.
* regrename.c (copy_value): Don't replace fixed or global
regs with older regs.
From-SVN: r101330
Diffstat (limited to 'gcc/regrename.c')
-rw-r--r-- | gcc/regrename.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/regrename.c b/gcc/regrename.c index 0cfe552..91e9d71 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -1225,6 +1225,10 @@ copy_value (rtx dest, rtx src, struct value_data *vd) if (frame_pointer_needed && dr == HARD_FRAME_POINTER_REGNUM) return; + /* Likewise for fixed or global registers. */ + if (fixed_regs[dr] || global_regs[dr]) + return; + /* If SRC and DEST overlap, don't record anything. */ dn = hard_regno_nregs[dr][GET_MODE (dest)]; sn = hard_regno_nregs[sr][GET_MODE (dest)]; |