re PR rtl-optimization/59340 (LRA enable-checking bootstrap failure since r205136)
2013-11-29 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/59340 * lra.c (check_rtl): Use recog_memoized instead of insn_invalid_p. Revert 2013-11-20 Robert Suchanek <Robert.Suchanek@imgtec.com> * lra.c (lra): Set lra_in_progress before check_rtl call. * recog.c (insn_invalid_p): Add !lra_in_progress to prevent adding clobber regs when LRA is running. From-SVN: r205541
This commit is contained in:
parent
913e2f0a00
commit
49f5efa5ea
|
@ -1,3 +1,15 @@
|
||||||
|
2013-11-29 Vladimir Makarov <vmakarov@redhat.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/59340
|
||||||
|
* lra.c (check_rtl): Use recog_memoized instead of insn_invalid_p.
|
||||||
|
|
||||||
|
Revert
|
||||||
|
2013-11-20 Robert Suchanek <Robert.Suchanek@imgtec.com>
|
||||||
|
|
||||||
|
* lra.c (lra): Set lra_in_progress before check_rtl call.
|
||||||
|
* recog.c (insn_invalid_p): Add !lra_in_progress to prevent
|
||||||
|
adding clobber regs when LRA is running.
|
||||||
|
|
||||||
2013-11-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
2013-11-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||||
|
|
||||||
PR target/59289
|
PR target/59289
|
||||||
|
|
12
gcc/lra.c
12
gcc/lra.c
|
@ -2066,8 +2066,9 @@ check_rtl (bool final_p)
|
||||||
correctly decomposed. LRA can generate reloads for
|
correctly decomposed. LRA can generate reloads for
|
||||||
decomposable addresses. The decomposition code checks the
|
decomposable addresses. The decomposition code checks the
|
||||||
correctness of the addresses. So we don't need to check
|
correctness of the addresses. So we don't need to check
|
||||||
the addresses here. */
|
the addresses here. Don't call insn_invalid_p here, it can
|
||||||
if (insn_invalid_p (insn, false))
|
change the code at this stage. */
|
||||||
|
if (recog_memoized (insn) < 0 && asm_noperands (PATTERN (insn)) < 0)
|
||||||
fatal_insn_not_found (insn);
|
fatal_insn_not_found (insn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2266,14 +2267,13 @@ lra (FILE *f)
|
||||||
|
|
||||||
init_insn_recog_data ();
|
init_insn_recog_data ();
|
||||||
|
|
||||||
/* We can not set up reload_in_progress because it prevents new
|
|
||||||
pseudo creation. */
|
|
||||||
lra_in_progress = 1;
|
|
||||||
|
|
||||||
#ifdef ENABLE_CHECKING
|
#ifdef ENABLE_CHECKING
|
||||||
|
/* Some quick check on RTL generated by previous passes. */
|
||||||
check_rtl (false);
|
check_rtl (false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
lra_in_progress = 1;
|
||||||
|
|
||||||
lra_live_range_iter = lra_coalesce_iter = 0;
|
lra_live_range_iter = lra_coalesce_iter = 0;
|
||||||
lra_constraint_iter = lra_constraint_iter_after_spill = 0;
|
lra_constraint_iter = lra_constraint_iter_after_spill = 0;
|
||||||
lra_inheritance_iter = lra_undo_inheritance_iter = 0;
|
lra_inheritance_iter = lra_undo_inheritance_iter = 0;
|
||||||
|
|
|
@ -315,8 +315,7 @@ insn_invalid_p (rtx insn, bool in_group)
|
||||||
int icode = recog (pat, insn,
|
int icode = recog (pat, insn,
|
||||||
(GET_CODE (pat) == SET
|
(GET_CODE (pat) == SET
|
||||||
&& ! reload_completed
|
&& ! reload_completed
|
||||||
&& ! reload_in_progress
|
&& ! reload_in_progress)
|
||||||
&& ! lra_in_progress)
|
|
||||||
? &num_clobbers : 0);
|
? &num_clobbers : 0);
|
||||||
int is_asm = icode < 0 && asm_noperands (PATTERN (insn)) >= 0;
|
int is_asm = icode < 0 && asm_noperands (PATTERN (insn)) >= 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue