Commit 8b547e44 by Jan Hubicka Committed by Jan Hubicka

tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return NULL.

	* tree-into-ssa.c (rewrite_ssa_into_ssa):  Expect ssa_name to return
	NULL.
	* tree-ssa-alias.c (init_alias_info): Likewise.
	* tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
	(verify_ssa): Likewise.
	* tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.

From-SVN: r87698
parent b8771ace
2004-09-18 Jan Hubicka <jh@suse.cz>
* tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return
NULL.
* tree-ssa-alias.c (init_alias_info): Likewise.
* tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
(verify_ssa): Likewise.
* tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
2004-09-18 Jan Hubicka <jh@suse.cz>
* i386.c (legitimize_pic_address): Fix splitting of PLUS with
huge offset.
......
......@@ -1623,6 +1623,7 @@ rewrite_ssa_into_ssa (void)
sbitmap_free (mark_def_sites_global_data.kills);
for (i = 1; i < num_ssa_names; i++)
if (ssa_name (i))
set_current_def (ssa_name (i), NULL_TREE);
/* Insert PHI nodes at dominance frontiers of definition blocks. */
......@@ -1679,7 +1680,7 @@ rewrite_ssa_into_ssa (void)
for (i = 1; i < num_ssa_names; i++)
{
name = ssa_name (i);
if (!SSA_NAME_AUX (name))
if (!name || !SSA_NAME_AUX (name))
continue;
free (SSA_NAME_AUX (name));
......
......@@ -414,7 +414,7 @@ init_alias_info (void)
{
tree name = ssa_name (i);
if (!POINTER_TYPE_P (TREE_TYPE (name)))
if (!name || !POINTER_TYPE_P (TREE_TYPE (name)))
continue;
if (SSA_NAME_PTR_INFO (name))
......
......@@ -419,6 +419,8 @@ verify_flow_sensitive_alias_info (void)
struct ptr_info_def *pi;
ptr = ssa_name (i);
if (!ptr)
continue;
ann = var_ann (SSA_NAME_VAR (ptr));
pi = SSA_NAME_PTR_INFO (ptr);
......@@ -466,6 +468,7 @@ verify_flow_sensitive_alias_info (void)
size_t j;
for (j = i + 1; j < num_ssa_names; j++)
if (ssa_name (j))
{
tree ptr2 = ssa_name (j);
struct ptr_info_def *pi2 = SSA_NAME_PTR_INFO (ptr2);
......@@ -524,6 +527,7 @@ verify_ssa (void)
/* Keep track of SSA names present in the IL. */
for (i = 1; i < num_ssa_names; i++)
if (ssa_name (i))
TREE_VISITED (ssa_name (i)) = 0;
calculate_dominance_info (CDI_DOMINATORS);
......
......@@ -205,6 +205,8 @@ make_ssa_name (tree var, tree stmt)
memset (t, 0, tree_size (t));
TREE_SET_CODE (t, SSA_NAME);
SSA_NAME_VERSION (t) = save_version;
gcc_assert (ssa_name (save_version) == NULL);
VARRAY_TREE (ssa_names, save_version) = t;
}
else
{
......@@ -260,6 +262,7 @@ release_ssa_name (tree var)
defining statement. */
if (! SSA_NAME_IN_FREE_LIST (var))
{
VARRAY_TREE (ssa_names, SSA_NAME_VERSION (var)) = NULL;
SSA_NAME_IN_FREE_LIST (var) = 1;
TREE_CHAIN (var) = free_ssanames;
free_ssanames = var;
......
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