This fixes the couple of ACATS failures

                === acats tests ===
FAIL:   c45531j
FAIL:   c45531l

                === acats Summary ===
# of expected passes            2318
# of unexpected failures        2

introduced by Jeff's latest threading patches.  The Tree-SSA tail merging pass 
was wrongly spotting basic blocks as duplicate but one of them had a statement 
that could throw and the other hadn't.

Tested on x86_64-suse-linux, applied on the mainline as obvious.


2013-11-21  Eric Botcazou  <ebotca...@adacore.com>

        * tree-ssa-tail-merge.c (stmt_local_def): Return false if the statement
        could throw.


-- 
Eric Botcazou
Index: tree-ssa-tail-merge.c
===================================================================
--- tree-ssa-tail-merge.c	(revision 205090)
+++ tree-ssa-tail-merge.c	(working copy)
@@ -309,6 +309,7 @@ stmt_local_def (gimple stmt)
   def_operand_p def_p;
 
   if (gimple_has_side_effects (stmt)
+      || stmt_could_throw_p (stmt)
       || gimple_vdef (stmt) != NULL_TREE)
     return false;
 

Reply via email to