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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183722
138bc75d-0d04-0410-961f-
82ee72b054a4
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
--- /dev/null
+/* { 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));
+}
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 ();
}
}
}
- return 0;
+ return todo;
}
struct gimple_opt_pass pass_cleanup_cfg_post_optimizing =