diff options
author | Richard Henderson <rth@redhat.com> | 2005-10-24 19:01:46 +0000 |
---|---|---|
committer | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2005-10-24 19:01:46 +0000 |
commit | fbda78f67b54bb8fd947a53a5d6f6c9d6dd807fc (patch) | |
tree | f9335828a5d02f72fa609e514c166fd78ca5495d | |
parent | 4f7f428a03923b1ec862b843f616f86a20702ce2 (diff) |
* pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
parallel.
(hppa_expand_prologue): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105856 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 34 |
2 files changed, 10 insertions, 30 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e4e85dde37a..14e264cef8f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-10-24 Richard Henderson <rth@redhat.com> + + * pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in + parallel. + (hppa_expand_prologue): Likewise. + 2005-10-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa-linux.h (NO_PROFILE_COUNTERS): Delete define. diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index aa603dc90b4..6f77f4ffdb3 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -3326,25 +3326,9 @@ store_reg_modify (int base, int reg, HOST_WIDE_INT mod) RTX_FRAME_RELATED_P (insn) = 1; /* RTX_FRAME_RELATED_P must be set on each frame related set - in a parallel with more than one element. Don't set - RTX_FRAME_RELATED_P in the first set if reg is temporary - register 1. The effect of this operation is recorded in - the initial copy. */ - if (reg != 1) - { - RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 0)) = 1; - RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 1)) = 1; - } - else - { - /* The first element of a PARALLEL is always processed if it is - a SET. Thus, we need an expression list for this case. */ - REG_NOTES (insn) - = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, - gen_rtx_SET (VOIDmode, basereg, - gen_rtx_PLUS (word_mode, basereg, delta)), - REG_NOTES (insn)); - } + in a parallel with more than one element. */ + RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 0)) = 1; + RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 1)) = 1; } } @@ -3578,17 +3562,7 @@ hppa_expand_prologue (void) frames. */ insn = emit_move_insn (tmpreg, frame_pointer_rtx); if (DO_FRAME_NOTES) - { - /* We need to record the frame pointer save here since the - new frame pointer is set in the following insn. */ - RTX_FRAME_RELATED_P (insn) = 1; - REG_NOTES (insn) - = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, - gen_rtx_SET (VOIDmode, - gen_rtx_MEM (word_mode, stack_pointer_rtx), - frame_pointer_rtx), - REG_NOTES (insn)); - } + RTX_FRAME_RELATED_P (insn) = 1; insn = emit_move_insn (frame_pointer_rtx, stack_pointer_rtx); if (DO_FRAME_NOTES) |