bfin-protos.h (push_multiple_operation): Delete.
gcc/ * config/bfin/bfin-protos.h (push_multiple_operation): Delete. (pop_multiple_operation): Delete. (analyze_push_multiple_operation): Declare. (analyze_pop_multiple_operation): Declare. * config/bfin/bfin.c (push_multiple_operation): Rename to... (analyze_push_multiple_operation): ...this and remove mode argument. (pop_multiple_operation): Rename to... (analyze_pop_multiple_operation): ...this and remove mode argument. * config/bfin/predicates.md (push_multiple_operation): Define. (pop_multiple_operation): Likewise. From-SVN: r205301
This commit is contained in:
parent
4615f96c2d
commit
c51392f186
@ -1,3 +1,16 @@
|
||||
2013-11-23 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* config/bfin/bfin-protos.h (push_multiple_operation): Delete.
|
||||
(pop_multiple_operation): Delete.
|
||||
(analyze_push_multiple_operation): Declare.
|
||||
(analyze_pop_multiple_operation): Declare.
|
||||
* config/bfin/bfin.c (push_multiple_operation): Rename to...
|
||||
(analyze_push_multiple_operation): ...this and remove mode argument.
|
||||
(pop_multiple_operation): Rename to...
|
||||
(analyze_pop_multiple_operation): ...this and remove mode argument.
|
||||
* config/bfin/predicates.md (push_multiple_operation): Define.
|
||||
(pop_multiple_operation): Likewise.
|
||||
|
||||
2013-11-23 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* config/rs6000/vsx.md (fusion peepholes): Disable when !TARGET_VSX.
|
||||
|
@ -105,8 +105,8 @@ extern rtx bfin_va_arg (tree, tree);
|
||||
|
||||
extern void bfin_expand_prologue (void);
|
||||
extern void bfin_expand_epilogue (int, int, bool);
|
||||
extern int push_multiple_operation (rtx, enum machine_mode);
|
||||
extern int pop_multiple_operation (rtx, enum machine_mode);
|
||||
extern int analyze_push_multiple_operation (rtx);
|
||||
extern int analyze_pop_multiple_operation (rtx);
|
||||
extern void output_push_multiple (rtx, rtx *);
|
||||
extern void output_pop_multiple (rtx, rtx *);
|
||||
extern int bfin_hard_regno_rename_ok (unsigned int, unsigned int);
|
||||
|
@ -2992,7 +2992,7 @@ static int first_preg_to_save, first_dreg_to_save;
|
||||
static int n_regs_to_save;
|
||||
|
||||
int
|
||||
push_multiple_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
analyze_push_multiple_operation (rtx op)
|
||||
{
|
||||
int lastdreg = 8, lastpreg = 6;
|
||||
int i, group;
|
||||
@ -3063,7 +3063,7 @@ push_multiple_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
}
|
||||
|
||||
int
|
||||
pop_multiple_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
analyze_pop_multiple_operation (rtx op)
|
||||
{
|
||||
int lastdreg = 8, lastpreg = 6;
|
||||
int i, group;
|
||||
@ -3132,7 +3132,7 @@ output_push_multiple (rtx insn, rtx *operands)
|
||||
int ok;
|
||||
|
||||
/* Validate the insn again, and compute first_[dp]reg_to_save. */
|
||||
ok = push_multiple_operation (PATTERN (insn), VOIDmode);
|
||||
ok = analyze_push_multiple_operation (PATTERN (insn));
|
||||
gcc_assert (ok);
|
||||
|
||||
if (first_dreg_to_save == 8)
|
||||
@ -3156,7 +3156,7 @@ output_pop_multiple (rtx insn, rtx *operands)
|
||||
int ok;
|
||||
|
||||
/* Validate the insn again, and compute first_[dp]reg_to_save. */
|
||||
ok = pop_multiple_operation (PATTERN (insn), VOIDmode);
|
||||
ok = analyze_pop_multiple_operation (PATTERN (insn));
|
||||
gcc_assert (ok);
|
||||
|
||||
if (first_dreg_to_save == 8)
|
||||
@ -4136,8 +4136,8 @@ workaround_rts_anomaly (void)
|
||||
|
||||
if (GET_CODE (pat) == PARALLEL)
|
||||
{
|
||||
if (push_multiple_operation (pat, VOIDmode)
|
||||
|| pop_multiple_operation (pat, VOIDmode))
|
||||
if (analyze_push_multiple_operation (pat)
|
||||
|| analyze_pop_multiple_operation (pat))
|
||||
this_cycles = n_regs_to_save;
|
||||
}
|
||||
else
|
||||
|
@ -239,3 +239,11 @@
|
||||
gcc_assert (REG_P (op));
|
||||
return IREG_P (op);
|
||||
})
|
||||
|
||||
(define_predicate "push_multiple_operation"
|
||||
(and (match_code "parallel")
|
||||
(match_test "analyze_push_multiple_operation (op)")))
|
||||
|
||||
(define_predicate "pop_multiple_operation"
|
||||
(and (match_code "parallel")
|
||||
(match_test "analyze_pop_multiple_operation (op)")))
|
||||
|
Loading…
Reference in New Issue
Block a user