aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-sra.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2007-10-08 23:56:00 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2007-10-08 23:56:00 +0000
commit43fd231088618774159342a0194f33b76c13e5e6 (patch)
treeadf9355ded579230f8be2867feac7d84e2b04dec /gcc/tree-sra.c
parent0e6c9eaa5c0c9bf00972834f3a47e5146bd47dee (diff)
downloadgcc-43fd231088618774159342a0194f33b76c13e5e6.zip
gcc-43fd231088618774159342a0194f33b76c13e5e6.tar.gz
gcc-43fd231088618774159342a0194f33b76c13e5e6.tar.bz2
tree-sra.c (scalarize_lsdt): Fix thinko in testing whether the original stmt can throw.
* tree-sra.c (scalarize_lsdt): Fix thinko in testing whether the original stmt can throw. From-SVN: r129143
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r--gcc/tree-sra.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 764f70b..fed7fbd 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -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