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:
Vladimir Makarov 2013-11-29 20:08:38 +00:00 committed by Vladimir Makarov
parent 913e2f0a00
commit 49f5efa5ea
3 changed files with 19 additions and 8 deletions

View File

@ -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>
PR target/59289

View File

@ -2066,8 +2066,9 @@ check_rtl (bool final_p)
correctly decomposed. LRA can generate reloads for
decomposable addresses. The decomposition code checks the
correctness of the addresses. So we don't need to check
the addresses here. */
if (insn_invalid_p (insn, false))
the addresses here. Don't call insn_invalid_p here, it can
change the code at this stage. */
if (recog_memoized (insn) < 0 && asm_noperands (PATTERN (insn)) < 0)
fatal_insn_not_found (insn);
}
}
@ -2266,14 +2267,13 @@ lra (FILE *f)
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
/* Some quick check on RTL generated by previous passes. */
check_rtl (false);
#endif
lra_in_progress = 1;
lra_live_range_iter = lra_coalesce_iter = 0;
lra_constraint_iter = lra_constraint_iter_after_spill = 0;
lra_inheritance_iter = lra_undo_inheritance_iter = 0;

View File

@ -315,8 +315,7 @@ insn_invalid_p (rtx insn, bool in_group)
int icode = recog (pat, insn,
(GET_CODE (pat) == SET
&& ! reload_completed
&& ! reload_in_progress
&& ! lra_in_progress)
&& ! reload_in_progress)
? &num_clobbers : 0);
int is_asm = icode < 0 && asm_noperands (PATTERN (insn)) >= 0;