aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-reassoc.c
diff options
context:
space:
mode:
authorKugan Vivekanandarajah <kuganv@linaro.org>2016-05-30 10:45:19 +0000
committerKugan Vivekanandarajah <kugan@gcc.gnu.org>2016-05-30 10:45:19 +0000
commitdb5447cad85ddee2973bc95cb5d4890b8c3d847b (patch)
tree32ce00e2bcfd9fa901b79d69966b3b9c1446ac01 /gcc/tree-ssa-reassoc.c
parent98bdbb39a6676776c528f3b51ce740669c06d708 (diff)
downloadgcc-db5447cad85ddee2973bc95cb5d4890b8c3d847b.zip
gcc-db5447cad85ddee2973bc95cb5d4890b8c3d847b.tar.gz
gcc-db5447cad85ddee2973bc95cb5d4890b8c3d847b.tar.bz2
re PR tree-optimization/71252 (ICE: verify_ssa failed : definition in block 7 does not dominate use in block 6)
gcc/ChangeLog: 2016-05-30 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71252 * tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix swap such that all fields including stmt_to_insert are swapped. gcc/testsuite/ChangeLog: 2016-05-30 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71252 * gcc.dg/tree-ssa/pr71252-2.c: New test. From-SVN: r236875
Diffstat (limited to 'gcc/tree-ssa-reassoc.c')
-rw-r--r--gcc/tree-ssa-reassoc.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index c9ed679..d13be29 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -3763,25 +3763,13 @@ swap_ops_for_binary_stmt (vec<operand_entry *> ops,
|| (stmt && is_phi_for_stmt (stmt, oe3->op)
&& !is_phi_for_stmt (stmt, oe1->op)
&& !is_phi_for_stmt (stmt, oe2->op)))
- {
- operand_entry temp = *oe3;
- oe3->op = oe1->op;
- oe3->rank = oe1->rank;
- oe1->op = temp.op;
- oe1->rank= temp.rank;
- }
+ std::swap (*oe1, *oe3);
else if ((oe1->rank == oe3->rank
&& oe2->rank != oe3->rank)
|| (stmt && is_phi_for_stmt (stmt, oe2->op)
&& !is_phi_for_stmt (stmt, oe1->op)
&& !is_phi_for_stmt (stmt, oe3->op)))
- {
- operand_entry temp = *oe2;
- oe2->op = oe1->op;
- oe2->rank = oe1->rank;
- oe1->op = temp.op;
- oe1->rank = temp.rank;
- }
+ std::swap (*oe1, *oe3);
}
/* If definition of RHS1 or RHS2 dominates STMT, return the later of those