diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1992-10-14 15:57:42 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1992-10-14 15:57:42 -0700 |
commit | 22162da3d7b0fd8d0cc6c5ef451bfda139021ba8 (patch) | |
tree | e321a84fdeaba0da666999d6c1c74aefcabe809e /gcc/sched.c | |
parent | ea9c5b9e08517bd7db80141b2efbfb7422ed12a3 (diff) | |
download | gcc-22162da3d7b0fd8d0cc6c5ef451bfda139021ba8.zip gcc-22162da3d7b0fd8d0cc6c5ef451bfda139021ba8.tar.gz gcc-22162da3d7b0fd8d0cc6c5ef451bfda139021ba8.tar.bz2 |
(sched_note_set): Set subreg_p for anything except a paradoxical subreg.
From-SVN: r2464
Diffstat (limited to 'gcc/sched.c')
-rw-r--r-- | gcc/sched.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/sched.c b/gcc/sched.c index be48e8e..435c265 100644 --- a/gcc/sched.c +++ b/gcc/sched.c @@ -2042,11 +2042,10 @@ sched_note_set (b, x, death) { /* Must treat modification of just one hardware register of a multi-reg value or just a byte field of a register exactly the same way that - mark_set_1 in flow.c does. */ - if (GET_CODE (reg) == ZERO_EXTRACT - || GET_CODE (reg) == SIGN_EXTRACT - || (GET_CODE (reg) == SUBREG - && REG_SIZE (SUBREG_REG (reg)) > REG_SIZE (reg))) + mark_set_1 in flow.c does, i.e. anything except a paradoxical subreg + does not kill the entire register. */ + if (GET_CODE (reg) != SUBREG + || REG_SIZE (SUBREG_REG (reg)) > REG_SIZE (reg)) subreg_p = 1; reg = SUBREG_REG (reg); |