mirror of git://gcc.gnu.org/git/gcc.git
jump.c (mark_modified_reg): Allow jump threading if condition codes are represented by a hard register.
* jump.c (mark_modified_reg): Allow jump threading if condition codes are represented by a hard register. From-SVN: r43030
This commit is contained in:
parent
7137fd76b5
commit
7bd458aabb
|
@ -1,3 +1,8 @@
|
||||||
|
2001-06-08 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* jump.c (mark_modified_reg): Allow jump threading if condition
|
||||||
|
codes are represented by a hard register.
|
||||||
|
|
||||||
2001-06-08 Jakub Jelinek <jakub@redhat.com>
|
2001-06-08 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
|
* config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
|
||||||
|
|
10
gcc/jump.c
10
gcc/jump.c
|
@ -3763,7 +3763,7 @@ static int modified_mem;
|
||||||
static void
|
static void
|
||||||
mark_modified_reg (dest, x, data)
|
mark_modified_reg (dest, x, data)
|
||||||
rtx dest;
|
rtx dest;
|
||||||
rtx x ATTRIBUTE_UNUSED;
|
rtx x;
|
||||||
void *data ATTRIBUTE_UNUSED;
|
void *data ATTRIBUTE_UNUSED;
|
||||||
{
|
{
|
||||||
int regno;
|
int regno;
|
||||||
|
@ -3781,7 +3781,13 @@ mark_modified_reg (dest, x, data)
|
||||||
regno = REGNO (dest);
|
regno = REGNO (dest);
|
||||||
if (regno >= FIRST_PSEUDO_REGISTER)
|
if (regno >= FIRST_PSEUDO_REGISTER)
|
||||||
modified_regs[regno] = 1;
|
modified_regs[regno] = 1;
|
||||||
else
|
/* Don't consider a hard condition code register as modified,
|
||||||
|
if it is only being set. thread_jumps will check if it is set
|
||||||
|
to the same value. */
|
||||||
|
else if (GET_MODE_CLASS (GET_MODE (dest)) != MODE_CC
|
||||||
|
|| GET_CODE (x) != SET
|
||||||
|
|| ! rtx_equal_p (dest, SET_DEST (x))
|
||||||
|
|| HARD_REGNO_NREGS (regno, GET_MODE (dest)) != 1)
|
||||||
for (i = 0; i < HARD_REGNO_NREGS (regno, GET_MODE (dest)); i++)
|
for (i = 0; i < HARD_REGNO_NREGS (regno, GET_MODE (dest)); i++)
|
||||||
modified_regs[regno + i] = 1;
|
modified_regs[regno + i] = 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue