Commit 7bd458aa by Jakub Jelinek Committed by Jakub Jelinek

jump.c (mark_modified_reg): Allow jump threading if condition codes are…

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
parent 7137fd76
2001-06-08 Jakub Jelinek <jakub@redhat.com> 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>
* 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
for complex floats passed to unprototyped functions. for complex floats passed to unprototyped functions.
......
...@@ -3763,7 +3763,7 @@ static int modified_mem; ...@@ -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) ...@@ -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;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment