Commit ab448cfa by Richard Guenther Committed by Richard Biener

re PR middle-end/52045 (ICE: in execute_todo, at passes.c:1748 with -O3 -ftracer…

re PR middle-end/52045 (ICE: in execute_todo, at passes.c:1748 with -O3 -ftracer -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce and stpcpy_chk())

2012-01-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52045
	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
	SSA form if cfgcleanup did anything.

	* gcc.dg/pr52045.c: New testcase.

From-SVN: r183722
parent f8698b37
2012-01-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52045
* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
SSA form if cfgcleanup did anything.
2012-01-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52045
* ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
before computing final todo.
......
2012-01-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52045
* gcc.dg/pr52045.c: New testcase.
2012-01-30 Greta Yorsh <Greta.Yorsh@arm.com>
* gcc.target/arm/di-longlong64-sync-withldrexd.c: Accept
......
/* { dg-do compile } */
/* { dg-options "-O3 -ftracer -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce" } */
char *vx;
char buf[20];
void
foo (void)
{
vx = __builtin___stpcpy_chk (buf, vx ? "gh" : "e", sizeof(buf));
}
......@@ -157,7 +157,9 @@ struct gimple_opt_pass pass_all_early_optimizations =
static unsigned int
execute_cleanup_cfg_post_optimizing (void)
{
cleanup_tree_cfg ();
unsigned int todo = 0;
if (cleanup_tree_cfg ())
todo |= TODO_update_ssa;
maybe_remove_unreachable_handlers ();
cleanup_dead_labels ();
group_case_labels ();
......@@ -190,7 +192,7 @@ execute_cleanup_cfg_post_optimizing (void)
}
}
}
return 0;
return todo;
}
struct gimple_opt_pass pass_cleanup_cfg_post_optimizing =
......
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