re PR rtl-optimization/10592 ([arm] caller-save incorrectly handles a reloaded SET_DEST operand)
PR optimization/10592 * caller-save.c (mark_referenced_regs): Don't short-circuit a reg or subreg in SET_DEST if it isn't a hard register. From-SVN: r74747
This commit is contained in:
parent
77e86c9109
commit
4d450e9ac8
|
@ -1,3 +1,9 @@
|
|||
2003-12-17 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
PR optimization/10592
|
||||
* caller-save.c (mark_referenced_regs): Don't short-circuit a reg
|
||||
or subreg in SET_DEST if it isn't a hard register.
|
||||
|
||||
2003-12-17 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
|
||||
|
|
|
@ -568,8 +568,10 @@ mark_referenced_regs (rtx x)
|
|||
{
|
||||
x = SET_DEST (x);
|
||||
code = GET_CODE (x);
|
||||
if (code == REG || code == PC || code == CC0
|
||||
if ((code == REG && REGNO (x) < FIRST_PSEUDO_REGISTER)
|
||||
|| code == PC || code == CC0
|
||||
|| (code == SUBREG && GET_CODE (SUBREG_REG (x)) == REG
|
||||
&& REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER
|
||||
/* If we're setting only part of a multi-word register,
|
||||
we shall mark it as referenced, because the words
|
||||
that are not being set should be restored. */
|
||||
|
|
Loading…
Reference in New Issue