diff options
author | Richard Henderson <rth@redhat.com> | 2005-10-24 12:01:46 -0700 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2005-10-24 19:01:46 +0000 |
commit | 77c4f044f6ed9067a72d516bc6b40728fb9756eb (patch) | |
tree | f9335828a5d02f72fa609e514c166fd78ca5495d /gcc | |
parent | 3674b34daf6b281648cc01d31fe85e5d7a5dfe3f (diff) | |
download | gcc-77c4f044f6ed9067a72d516bc6b40728fb9756eb.zip gcc-77c4f044f6ed9067a72d516bc6b40728fb9756eb.tar.gz gcc-77c4f044f6ed9067a72d516bc6b40728fb9756eb.tar.bz2 |
pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in parallel.
* pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
parallel.
(hppa_expand_prologue): Likewise.
From-SVN: r105856
Diffstat (limited to 'gcc')
-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 e4e85dd..14e264c 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 aa603dc..6f77f4f 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) |