tree-sra.c (scalarize_lsdt): Fix thinko in testing whether the original stmt can...
authorAlexandre Oliva <aoliva@redhat.com>
Mon, 8 Oct 2007 23:56:00 +0000 (23:56 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Mon, 8 Oct 2007 23:56:00 +0000 (23:56 +0000)
* tree-sra.c (scalarize_lsdt): Fix thinko in testing whether
the original stmt can throw.

From-SVN: r129143

gcc/ChangeLog
gcc/tree-sra.c

index 9ccde307177fa4cdb4d8fcaec6515246334e7ec5..8ec74446b0dd1bc3ccae27ee42cfea86dc0aa438 100644 (file)
@@ -1,3 +1,8 @@
+2007-10-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree-sra.c (scalarize_lsdt): Fix thinko in testing whether
+       the original stmt can throw.
+
 2007-10-08  Geoffrey Keating  <geoffk@apple.com>
 
        * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register
index 764f70b0631695252e2cfb0aea0d99bbc713c369..fed7fbd03903377ebcc3b9dae75ce5f835042d84 100644 (file)
@@ -2408,7 +2408,7 @@ sra_build_bf_assignment (tree dst, tree src)
       tmp2 = fold_build1 (BIT_NOT_EXPR, utype, mask);
       tmp2 = int_const_binop (RSHIFT_EXPR, tmp2, minshift, true);
       tmp2 = fold_convert (ut, tmp2);
-      tmp2 = fold_build2 (BIT_AND_EXPR, utype, tmp3, tmp2);
+      tmp2 = fold_build2 (BIT_AND_EXPR, ut, tmp3, tmp2);
 
       if (tmp3 != tmp2)
        {
@@ -3436,7 +3436,7 @@ scalarize_ldst (struct sra_elt *elt, tree other,
        {
          tree_stmt_iterator tsi;
          tree first, blist = NULL;
-         bool thr = (bsi->bb->flags & EDGE_COMPLEX) != 0;
+         bool thr = tree_could_throw_p (stmt);
 
          /* If the last statement of this BB created an EH edge
             before scalarization, we have to locate the first