mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-11 13:37:38 +08:00
emit-rtl.c (gen_rtx_REG): After reload...
* emit-rtl.c (gen_rtx_REG): After reload, only return frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r56133
This commit is contained in:
parent
c93a26f5ea
commit
e10c79fe9a
@ -1,3 +1,9 @@
|
||||
2002-08-08 Lars Brinkhoff <lars@nocrew.org>
|
||||
Richard Henderson <rth@redhat.com>
|
||||
|
||||
* emit-rtl.c (gen_rtx_REG): After reload, only return
|
||||
frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
|
||||
|
||||
2002-08-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
|
||||
|
@ -514,10 +514,12 @@ gen_rtx_REG (mode, regno)
|
||||
|
||||
if (mode == Pmode && !reload_in_progress)
|
||||
{
|
||||
if (regno == FRAME_POINTER_REGNUM)
|
||||
if (regno == FRAME_POINTER_REGNUM
|
||||
&& (!reload_completed || frame_pointer_needed))
|
||||
return frame_pointer_rtx;
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
if (regno == HARD_FRAME_POINTER_REGNUM)
|
||||
if (regno == HARD_FRAME_POINTER_REGNUM
|
||||
&& (!reload_completed || frame_pointer_needed))
|
||||
return hard_frame_pointer_rtx;
|
||||
#endif
|
||||
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && HARD_FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
|
||||
@ -542,7 +544,11 @@ gen_rtx_REG (mode, regno)
|
||||
This code is disabled for now until we can fix the various backends
|
||||
which depend on having non-shared hard registers in some cases. Long
|
||||
term we want to re-enable this code as it can significantly cut down
|
||||
on the amount of useless RTL that gets generated. */
|
||||
on the amount of useless RTL that gets generated.
|
||||
|
||||
We'll also need to fix some code that runs after reload that wants to
|
||||
set ORIGINAL_REGNO. */
|
||||
|
||||
if (cfun
|
||||
&& cfun->emit
|
||||
&& regno_reg_rtx
|
||||
|
Loading…
Reference in New Issue
Block a user