tree-into-ssa.c (update_ssa): Verify we do not rename symbols that are already partly in SSA form.

2012-08-14  Richard Guenther  <rguenther@suse.de>

	* tree-into-ssa.c (update_ssa): Verify we do not rename
	symbols that are already partly in SSA form.

From-SVN: r190377
This commit is contained in:
Richard Guenther 2012-08-14 09:32:06 +00:00 committed by Richard Biener
parent dbabddf32d
commit 343c5d461c
2 changed files with 29 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2012-08-14 Richard Guenther <rguenther@suse.de>
* tree-into-ssa.c (update_ssa): Verify we do not rename
symbols that are already partly in SSA form.
2012-08-14 Jakub Jelinek <jakub@redhat.com>
PR middle-end/53411

View File

@ -3247,6 +3247,30 @@ update_ssa (unsigned update_flags)
statements and set local live-in information for the PHI
placement heuristics. */
prepare_block_for_update (start_bb, insert_phi_p);
#ifdef ENABLE_CHECKING
for (i = 1; i < num_ssa_names; ++i)
{
tree name = ssa_name (i);
if (!name
|| virtual_operand_p (name))
continue;
/* For all but virtual operands, which do not have SSA names
with overlapping life ranges, ensure that symbols marked
for renaming do not have existing SSA names associated with
them as we do not re-write them out-of-SSA before going
into SSA for the remaining symbol uses. */
if (marked_for_renaming (SSA_NAME_VAR (name)))
{
fprintf (stderr, "Existing SSA name for symbol marked for "
"renaming: ");
print_generic_expr (stderr, name, TDF_SLIM);
fprintf (stderr, "\n");
internal_error ("SSA corruption");
}
}
#endif
}
else
{