sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.

* config/sh/sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
	* config/sh/sh.c (INSN_REGMODE_WEIGHT, CURR_REGMODE_PRESSURE):
	Fix line width.
	(dump_table): Use bool type for need_align and have_df variables.
	(find_barrier, sfunc_uses_reg): Use NULL_RTX instead of 0.
	(regs_used): Remove register modifier.
	(barrier_align): Move variables slot, credit, jump_to_next
	into if block above for loop.  Use bool type for jump_to_next.
	(sh_function_arg): Use NULL_RTX instead of 0.

From-SVN: r186366
This commit is contained in:
Oleg Endo 2012-04-11 23:03:20 +00:00
parent da97611d45
commit 23d0939b41
3 changed files with 59 additions and 40 deletions

View File

@ -1,3 +1,15 @@
2012-04-12 Oleg Endo <olegendo@gcc.gnu.org>
* config/sh/sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
* config/sh/sh.c (INSN_REGMODE_WEIGHT, CURR_REGMODE_PRESSURE):
Fix line width.
(dump_table): Use bool type for need_align and have_df variables.
(find_barrier, sfunc_uses_reg): Use NULL_RTX instead of 0.
(regs_used): Remove register modifier.
(barrier_align): Move variables slot, credit, jump_to_next
into if block above for loop. Use bool type for jump_to_next.
(sh_function_arg): Use NULL_RTX instead of 0.
2012-04-11 Andreas Schwab <schwab@linux-m68k.org>
* config/m68k/m68k.md (rotrhi3+1): Name it rotrhi_lowpart.

View File

@ -547,10 +547,12 @@ static const struct attribute_spec sh_attribute_table[] =
#define TARGET_FRAME_POINTER_REQUIRED sh_frame_pointer_required
/* Return regmode weight for insn. */
#define INSN_REGMODE_WEIGHT(INSN, MODE) regmode_weight[((MODE) == SImode) ? 0 : 1][INSN_UID (INSN)]
#define INSN_REGMODE_WEIGHT(INSN, MODE)\
regmode_weight[((MODE) == SImode) ? 0 : 1][INSN_UID (INSN)]
/* Return current register pressure for regmode. */
#define CURR_REGMODE_PRESSURE(MODE) curr_regmode_pressure[((MODE) == SImode) ? 0 : 1]
#define CURR_REGMODE_PRESSURE(MODE)\
curr_regmode_pressure[((MODE) == SImode) ? 0 : 1]
#undef TARGET_ENCODE_SECTION_INFO
#define TARGET_ENCODE_SECTION_INFO sh_encode_section_info
@ -4202,10 +4204,10 @@ dump_table (rtx start, rtx barrier)
{
rtx scan = barrier;
int i;
int need_align = 1;
bool need_align = true;
rtx lab;
label_ref_list_t ref;
int have_df = 0;
bool have_df = false;
/* Do two passes, first time dump out the HI sized constants. */
@ -4218,7 +4220,7 @@ dump_table (rtx start, rtx barrier)
if (need_align)
{
scan = emit_insn_after (gen_align_2 (), scan);
need_align = 0;
need_align = false;
}
for (lab = p->label; lab; lab = LABEL_REFS (lab))
scan = emit_label_after (lab, scan);
@ -4231,15 +4233,15 @@ dump_table (rtx start, rtx barrier)
}
}
else if (p->mode == DFmode)
have_df = 1;
have_df = true;
}
need_align = 1;
need_align = true;
if (start)
{
scan = emit_insn_after (gen_align_4 (), scan);
need_align = 0;
need_align = false;
for (; start != barrier; start = NEXT_INSN (start))
if (NONJUMP_INSN_P (start)
&& recog_memoized (start) == CODE_FOR_casesi_worker_2)
@ -4256,7 +4258,7 @@ dump_table (rtx start, rtx barrier)
scan = emit_label_after (gen_label_rtx (), scan);
scan = emit_insn_after (gen_align_log (GEN_INT (3)), scan);
need_align = 0;
need_align = false;
for (i = 0; i < pool_size; i++)
{
@ -4298,7 +4300,7 @@ dump_table (rtx start, rtx barrier)
{
scan = emit_insn_after (gen_align_log (GEN_INT (3)), scan);
align_insn = scan;
need_align = 0;
need_align = false;
}
case DImode:
for (lab = p->label; lab; lab = LABEL_REFS (lab))
@ -4336,7 +4338,7 @@ dump_table (rtx start, rtx barrier)
case SFmode:
if (need_align)
{
need_align = 0;
need_align = false;
scan = emit_label_after (gen_label_rtx (), scan);
scan = emit_insn_after (gen_align_4 (), scan);
}
@ -4349,7 +4351,7 @@ dump_table (rtx start, rtx barrier)
case DImode:
if (need_align)
{
need_align = 0;
need_align = false;
scan = emit_label_after (gen_label_rtx (), scan);
scan = emit_insn_after (gen_align_4 (), scan);
}
@ -4548,7 +4550,9 @@ find_barrier (int num_mova, rtx mova, rtx from)
int hi_align = 2;
int si_align = 2;
int leading_mova = num_mova;
rtx barrier_before_mova = 0, found_barrier = 0, good_barrier = 0;
rtx barrier_before_mova = NULL_RTX;
rtx found_barrier = NULL_RTX;
rtx good_barrier = NULL_RTX;
int si_limit;
int hi_limit;
rtx orig = from;
@ -4882,19 +4886,19 @@ sfunc_uses_reg (rtx insn)
rtx pattern, part, reg_part, reg;
if (!NONJUMP_INSN_P (insn))
return 0;
return NULL_RTX;
pattern = PATTERN (insn);
if (GET_CODE (pattern) != PARALLEL || get_attr_type (insn) != TYPE_SFUNC)
return 0;
return NULL_RTX;
for (reg_part = 0, i = XVECLEN (pattern, 0) - 1; i >= 1; i--)
for (reg_part = NULL_RTX, i = XVECLEN (pattern, 0) - 1; i >= 1; i--)
{
part = XVECEXP (pattern, 0, i);
if (GET_CODE (part) == USE && GET_MODE (XEXP (part, 0)) == SImode)
reg_part = part;
}
if (! reg_part)
return 0;
return NULL_RTX;
reg = XEXP (reg_part, 0);
for (i = XVECLEN (pattern, 0) - 1; i >= 0; i--)
{
@ -4904,7 +4908,7 @@ sfunc_uses_reg (rtx insn)
if (reg_mentioned_p (reg, ((GET_CODE (part) == SET
&& REG_P (SET_DEST (part)))
? SET_SRC (part) : part)))
return 0;
return NULL_RTX;
}
return reg;
}
@ -5054,7 +5058,7 @@ regs_used (rtx x, int is_dest)
{
if (fmt[i] == 'E')
{
register int j;
int j;
for (j = XVECLEN (x, i) - 1; j >= 0; j--)
used |= regs_used (XVECEXP (x, i, j), is_dest);
}
@ -5339,7 +5343,6 @@ int
barrier_align (rtx barrier_or_label)
{
rtx next = next_real_insn (barrier_or_label), pat, prev;
int slot, credit, jump_to_next = 0;
if (! next)
return 0;
@ -5391,13 +5394,17 @@ barrier_align (rtx barrier_or_label)
/* PREV is presumed to be the JUMP_INSN for the barrier under
investigation. Skip to the insn before it. */
int slot, credit;
bool jump_to_next = false;
prev = prev_real_insn (prev);
for (slot = 2, credit = (1 << (CACHE_LOG - 2)) + 2;
credit >= 0 && prev && NONJUMP_INSN_P (prev);
prev = prev_real_insn (prev))
{
jump_to_next = 0;
jump_to_next = false;
if (GET_CODE (PATTERN (prev)) == USE
|| GET_CODE (PATTERN (prev)) == CLOBBER)
continue;
@ -5407,7 +5414,7 @@ barrier_align (rtx barrier_or_label)
if (INSN_UID (prev) == INSN_UID (next))
{
/* Delay slot was filled with insn at jump target. */
jump_to_next = 1;
jump_to_next = true;
continue;
}
}
@ -8438,7 +8445,7 @@ sh_function_arg (cumulative_args_t ca_v, enum machine_mode mode,
regno = (BASE_ARG_REG (mode) + ROUND_REG (*ca, mode))
^ (mode == SFmode && TARGET_SH4
&& TARGET_LITTLE_ENDIAN != 0
&& TARGET_LITTLE_ENDIAN
&& ! TARGET_HITACHI && ! ca->renesas_abi);
return gen_rtx_REG (mode, regno);
@ -8476,10 +8483,10 @@ sh_function_arg (cumulative_args_t ca_v, enum machine_mode mode,
+ ca->arg_count[(int) SH_ARG_INT]));
}
return 0;
return NULL_RTX;
}
return 0;
return NULL_RTX;
}
/* Update the data in CUM to advance over an argument
@ -8640,7 +8647,7 @@ static rtx
sh_struct_value_rtx (tree fndecl, int incoming ATTRIBUTE_UNUSED)
{
if (TARGET_HITACHI || sh_attr_renesas_p (fndecl))
return 0;
return NULL_RTX;
return gen_rtx_REG (Pmode, 2);
}
@ -9195,7 +9202,7 @@ sh_attr_renesas_p (const_tree td)
{
if (TARGET_HITACHI)
return true;
if (td == 0)
if (td == NULL_TREE)
return false;
if (DECL_P (td))
td = TREE_TYPE (td);
@ -9423,7 +9430,7 @@ reg_unused_after (rtx reg, rtx insn)
else
return false;
}
if (set == 0
if (set == NULL_RTX
&& reg_overlap_mentioned_p (reg, PATTERN (this_insn)))
return false;
}
@ -9618,7 +9625,7 @@ sh_insn_length_adjustment (rtx insn)
rtx body = PATTERN (insn);
const char *templ;
char c;
int maybe_label = 1;
bool maybe_label = true;
if (GET_CODE (body) == ASM_INPUT)
templ = XSTR (body, 0);
@ -9654,7 +9661,7 @@ sh_insn_length_adjustment (rtx insn)
break;
}
else if (c == '\'' || c == '"')
maybe_label = 0;
maybe_label = false;
c = *templ++;
}
sum += ppi_adjust;
@ -9820,7 +9827,7 @@ legitimize_pic_address (rtx orig, enum machine_mode mode ATTRIBUTE_UNUSED,
if (GET_CODE (orig) == LABEL_REF
|| (GET_CODE (orig) == SYMBOL_REF && SYMBOL_REF_LOCAL_P (orig)))
{
if (reg == 0)
if (reg == NULL_RTX)
reg = gen_reg_rtx (Pmode);
emit_insn (gen_symGOTOFF2reg (reg, orig));
@ -9828,7 +9835,7 @@ legitimize_pic_address (rtx orig, enum machine_mode mode ATTRIBUTE_UNUSED,
}
else if (GET_CODE (orig) == SYMBOL_REF)
{
if (reg == 0)
if (reg == NULL_RTX)
reg = gen_reg_rtx (Pmode);
emit_insn (gen_symGOT2reg (reg, orig));
@ -10069,7 +10076,7 @@ mark_constant_pool_use (rtx x)
{
rtx insn, lab, pattern;
if (x == NULL)
if (x == NULL_RTX)
return x;
switch (GET_CODE (x))
@ -11347,12 +11354,12 @@ sh_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
enum machine_mode tmode = VOIDmode;
int nop = 0, i;
rtx op[4];
rtx pat = 0;
rtx pat = NULL_RTX;
if (signature_args[signature][0])
{
if (ignore)
return 0;
return NULL_RTX;
tmode = insn_data[icode].operand[0].mode;
if (! target
@ -11411,7 +11418,7 @@ sh_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
gcc_unreachable ();
}
if (! pat)
return 0;
return NULL_RTX;
emit_insn (pat);
return target;
}
@ -12189,7 +12196,7 @@ replace_n_hard_rtx (rtx x, rtx *replacements, int n_replacements, int modify)
/* The following prevents loops occurrence when we change MEM in
CONST_DOUBLE onto the same CONST_DOUBLE. */
if (x != 0 && GET_CODE (x) == CONST_DOUBLE)
if (x != NULL_RTX && GET_CODE (x) == CONST_DOUBLE)
return x;
for (i = n_replacements - 1; i >= 0 ; i--)
@ -12197,8 +12204,8 @@ replace_n_hard_rtx (rtx x, rtx *replacements, int n_replacements, int modify)
return replacements[i*2+1];
/* Allow this function to make replacements in EXPR_LISTs. */
if (x == 0)
return 0;
if (x == NULL_RTX)
return NULL_RTX;
if (GET_CODE (x) == SUBREG)
{

View File

@ -1651,7 +1651,7 @@ struct sh_args {
can ignore COUNT. */
#define RETURN_ADDR_RTX(COUNT, FRAME) \
(((COUNT) == 0) ? sh_get_pr_initial_val () : (rtx) 0)
(((COUNT) == 0) ? sh_get_pr_initial_val () : NULL_RTX)
/* A C expression whose value is RTL representing the location of the
incoming return address at the beginning of any function, before the