mep.c: Include rtl-iter.h.

gcc/
	* config/mep/mep.c: Include rtl-iter.h.
	(global_reg_mentioned_p_1): Take a const_rtx and return a bool.
	(xtensa_tls_referenced_p): Return a bool.  Use FOR_EACH_SUBRTX.

From-SVN: r216704
This commit is contained in:
Richard Sandiford 2014-10-26 10:40:37 +00:00 committed by Richard Sandiford
parent 2f36a994a6
commit f0ac02c03f
2 changed files with 23 additions and 25 deletions

View File

@ -1,3 +1,9 @@
2014-10-26 Richard Sandiford <richard.sandiford@arm.com>
* config/mep/mep.c: Include rtl-iter.h.
(global_reg_mentioned_p_1): Take a const_rtx and return a bool.
(xtensa_tls_referenced_p): Return a bool. Use FOR_EACH_SUBRTX.
2014-10-26 Richard Sandiford <richard.sandiford@arm.com>
* config/xtensa/xtensa.c: Include rtl-iter.h.

View File

@ -69,6 +69,7 @@ along with GCC; see the file COPYING3. If not see
#include "opts.h"
#include "dumpfile.h"
#include "builtins.h"
#include "rtl-iter.h"
/* Structure of this file:
@ -6367,14 +6368,10 @@ mep_vector_mode_supported_p (enum machine_mode mode ATTRIBUTE_UNUSED)
/* A subroutine of global_reg_mentioned_p, returns 1 if *LOC mentions
a global register. */
static int
global_reg_mentioned_p_1 (rtx *loc, void *data ATTRIBUTE_UNUSED)
static bool
global_reg_mentioned_p_1 (const_rtx x)
{
int regno;
rtx x = *loc;
if (! x)
return 0;
switch (GET_CODE (x))
{
@ -6383,40 +6380,31 @@ global_reg_mentioned_p_1 (rtx *loc, void *data ATTRIBUTE_UNUSED)
{
if (REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER
&& global_regs[subreg_regno (x)])
return 1;
return 0;
return true;
return false;
}
break;
case REG:
regno = REGNO (x);
if (regno < FIRST_PSEUDO_REGISTER && global_regs[regno])
return 1;
return 0;
case SCRATCH:
case PC:
case CC0:
case CONST_INT:
case CONST_DOUBLE:
case CONST:
case LABEL_REF:
return 0;
return true;
return false;
case CALL:
/* A non-constant call might use a global register. */
return 1;
return true;
default:
break;
}
return 0;
return false;
}
/* Returns nonzero if X mentions a global register. */
static int
static bool
global_reg_mentioned_p (rtx x)
{
if (INSN_P (x))
@ -6424,16 +6412,20 @@ global_reg_mentioned_p (rtx x)
if (CALL_P (x))
{
if (! RTL_CONST_OR_PURE_CALL_P (x))
return 1;
return true;
x = CALL_INSN_FUNCTION_USAGE (x);
if (x == 0)
return 0;
return false;
}
else
x = PATTERN (x);
}
return for_each_rtx (&x, global_reg_mentioned_p_1, NULL);
subrtx_iterator::array_type array;
FOR_EACH_SUBRTX (iter, array, x, NONCONST)
if (global_reg_mentioned_p_1 (*iter))
return true;
return false;
}
/* Scheduling hooks for VLIW mode.