sh.c (calc_live_regs): Don't use initial_value optimization for PR_MEDIA_REG.
* config/sh/sh.c (calc_live_regs): Don't use initial_value optimization for PR_MEDIA_REG. From-SVN: r54600
This commit is contained in:
parent
b66377c173
commit
9d7ed8065d
|
@ -1,3 +1,8 @@
|
|||
Thu Jun 13 22:29:40 2002 J"orn Rennecke <joern.rennecke@superh.com>
|
||||
|
||||
* config/sh/sh.c (calc_live_regs): Don't use initial_value
|
||||
optimization for PR_MEDIA_REG.
|
||||
|
||||
2002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
|
||||
|
||||
* cpphash.h (_cpp_lex_identifier_trad): Remove.
|
||||
|
|
|
@ -4362,7 +4362,6 @@ calc_live_regs (count_ptr, live_regs_mask)
|
|||
int reg;
|
||||
int count;
|
||||
int interrupt_handler;
|
||||
rtx pr_initial;
|
||||
int pr_live;
|
||||
|
||||
if ((lookup_attribute
|
||||
|
@ -4385,12 +4384,18 @@ calc_live_regs (count_ptr, live_regs_mask)
|
|||
target_flags &= ~FPU_SINGLE_BIT;
|
||||
break;
|
||||
}
|
||||
pr_initial = has_hard_reg_initial_val (Pmode,
|
||||
TARGET_SHMEDIA
|
||||
? PR_MEDIA_REG : PR_REG);
|
||||
/* PR_MEDIA_REG is a general purpose register, thus global_alloc already
|
||||
knows how to use it. That means the pseudo originally allocated for
|
||||
the initial value can become the PR_MEDIA_REG hard register, as seen for
|
||||
execute/20010122-1.c:test9. */
|
||||
if (TARGET_SHMEDIA)
|
||||
pr_live = regs_ever_live[PR_MEDIA_REG];
|
||||
else
|
||||
{
|
||||
rtx pr_initial = has_hard_reg_initial_val (Pmode, PR_REG);
|
||||
pr_live = (pr_initial
|
||||
? REGNO (pr_initial) != (TARGET_SHMEDIA ? PR_MEDIA_REG : PR_REG)
|
||||
: regs_ever_live[TARGET_SHMEDIA ? PR_MEDIA_REG : PR_REG]);
|
||||
? REGNO (pr_initial) != (PR_REG) : regs_ever_live[PR_REG]);
|
||||
}
|
||||
/* Force PR to be live if the prologue has to call the SHmedia
|
||||
argument decoder or register saver. */
|
||||
if (TARGET_SHCOMPACT
|
||||
|
|
Loading…
Reference in New Issue