2010-08-25 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45316
* tree-ssa-pre.c (eliminate): Properly clean EH info.
* g++.dg/opt/pr45316.C: New testcase.
From-SVN: r163543
+2010-08-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45316
+ * tree-ssa-pre.c (eliminate): Properly clean EH info.
+
2010-08-25 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45393
+2010-08-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45316
+ * g++.dg/opt/pr45316.C: New testcase.
+
2010-08-25 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45393
--- /dev/null
+// { dg-do compile }
+// { dg-options "-O1 -ftree-pre -fnon-call-exceptions" }
+
+struct A
+{
+ int i;
+};
+
+struct B : A
+{
+ int i[6];
+ B (int = 0) : A ()
+ {
+ m ();
+ }
+ int m ();
+};
+
+struct C : B
+{
+};
+
+void
+foo ()
+{
+ new C ();
+}
+
if (TREE_CODE (lhs) != SSA_NAME
|| has_zero_uses (lhs))
{
+ basic_block bb = gimple_bb (stmt);
gsi = gsi_for_stmt (stmt);
unlink_stmt_vdef (stmt);
gsi_remove (&gsi, true);
+ if (gimple_purge_dead_eh_edges (bb))
+ todo |= TODO_cleanup_cfg;
if (TREE_CODE (lhs) == SSA_NAME)
bitmap_clear_bit (inserted_exprs, SSA_NAME_VERSION (lhs));
release_defs (stmt);