Commit 5901e56a by Jakub Jelinek Committed by Jakub Jelinek

re PR rtl-optimization/70596 (-fcompare-debug failure with one extra NOTE_INSN_DELETED)

	PR rtl-optimization/70596
	* lra-spills.c (spill_pseudos): Don't delete debug insns, instead
	just invalidate LRA data and reset them.  Adjust dump wording.

	* gcc.target/i386/pr70596.c: New test.

From-SVN: r234906
parent 0c39f36d
2016-04-12 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70596
* lra-spills.c (spill_pseudos): Don't delete debug insns, instead
just invalidate LRA data and reset them. Adjust dump wording.
2016-04-12 Martin Liska <mliska@suse.cz>
Revert
......
......@@ -528,11 +528,12 @@ spill_pseudos (void)
if (removed_pseudo_p)
{
lra_assert (DEBUG_INSN_P (insn));
lra_set_insn_deleted (insn);
lra_invalidate_insn_data (insn);
INSN_VAR_LOCATION_LOC (insn) = gen_rtx_UNKNOWN_VAR_LOC ();
if (lra_dump_file != NULL)
fprintf (lra_dump_file,
"Debug insn #%u is deleted as containing removed pseudo\n",
INSN_UID (insn));
"Debug insn #%u is reset because it referenced "
"removed pseudo\n", INSN_UID (insn));
}
bitmap_and_compl_into (df_get_live_in (bb), &spilled_pseudos);
bitmap_and_compl_into (df_get_live_out (bb), &spilled_pseudos);
......
2016-04-12 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70596
* gcc.target/i386/pr70596.c: New test.
2016-04-12 Nathan Sidwell <nathan@acm.org>
PR c++/70501
......
/* PR rtl-optimization/70596 */
/* { dg-do compile { target avx512f } } */
/* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-coalesce-vars -fno-tree-dce -fno-tree-fre -fno-tree-pre -fcompare-debug -mavx512f" } */
typedef char V __attribute__((vector_size (64)));
int
foo (V u, V v)
{
v /= u | 1;
v[18] = 1 | v[8];
return v[1] + v[6] + v[0] + v[1] + v[18] + v[2] + v[7];
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment