Commit 674391b8 by Diego Novillo Committed by Diego Novillo

re PR tree-optimization/22234 (verify_ssa failed with -fno-exceptions)


	PR 22234
	* tree-ssa-copy.c (fini_copy_prop): Do not overwrite copy_of
	when following copy-of chains.

testsuite/ChangeLog

	PR 22234
	* gcc.dg/20050629-1.c: New test.

From-SVN: r101450
parent acb8f212
2005-06-29 Diego Novillo <dnovillo@redhat.com>
PR 22234
* tree-ssa-copy.c (fini_copy_prop): Do not overwrite copy_of
when following copy-of chains.
2005-06-30 Jan Hubicka <jh@suse.cz> 2005-06-30 Jan Hubicka <jh@suse.cz>
* function.h (struct function): Add saved blocks/unexpanded var list. * function.h (struct function): Add saved blocks/unexpanded var list.
......
2005-06-29 Diego Novillo <dnovillo@redhat.com>
PR 22234
* gcc.dg/20050629-1.c: New test.
2005-06-29 Ziemowit Laski <zlaski@apple.com> 2005-06-29 Ziemowit Laski <zlaski@apple.com>
* obj-c++.dg/const-str-1[0-1].mm: New. * obj-c++.dg/const-str-1[0-1].mm: New.
......
...@@ -885,20 +885,24 @@ static void ...@@ -885,20 +885,24 @@ static void
fini_copy_prop (void) fini_copy_prop (void)
{ {
size_t i; size_t i;
prop_value_t *tmp;
/* Set the final copy-of value for each variable by traversing the /* Set the final copy-of value for each variable by traversing the
copy-of chains. */ copy-of chains. */
tmp = xmalloc (num_ssa_names * sizeof (*tmp));
memset (tmp, 0, num_ssa_names * sizeof (*tmp));
for (i = 1; i < num_ssa_names; i++) for (i = 1; i < num_ssa_names; i++)
{ {
tree var = ssa_name (i); tree var = ssa_name (i);
if (var && copy_of[i].value && copy_of[i].value != var) if (var && copy_of[i].value && copy_of[i].value != var)
copy_of[i].value = get_last_copy_of (var); tmp[i].value = get_last_copy_of (var);
} }
substitute_and_fold (copy_of, false); substitute_and_fold (tmp, false);
free (cached_last_copy_of); free (cached_last_copy_of);
free (copy_of); free (copy_of);
free (tmp);
} }
......
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