tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding markers.
* tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding markers. * g++.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output. From-SVN: r247985
This commit is contained in:
parent
284d1f76e9
commit
e8bf7c7b75
@ -1,3 +1,8 @@
|
||||
2017-05-12 Jeff Law <law@redhat.com>
|
||||
|
||||
* tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding
|
||||
markers.
|
||||
|
||||
2017-05-12 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
PR middle-end/80707
|
||||
|
@ -1,3 +1,7 @@
|
||||
2017-05-12 Jeff Law <law@redhat.com>
|
||||
|
||||
* g++.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.
|
||||
|
||||
2017-05-12 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
PR middle-end/80707
|
||||
|
@ -57,12 +57,8 @@ bitmap_ior_and_compl (bitmap dst, const_bitmap a, const_bitmap b,
|
||||
we should thread all three, but due to a bug in the threading
|
||||
code we missed the edge when the first conditional is false
|
||||
(b_elt is zero, which means the second conditional is always
|
||||
zero.
|
||||
|
||||
The first two are caught by VRP1, the last is caught by DOM
|
||||
along with another jump thread. */
|
||||
/* { dg-final { scan-tree-dump-times "Threaded" 2 "vrp1" { target { ! logical_op_short_circuit } } } } */
|
||||
/* { dg-final { scan-tree-dump-times "Threaded" 2 "dom2" { target { ! logical_op_short_circuit } } } } */
|
||||
zero. VRP1 catches all three. */
|
||||
/* { dg-final { scan-tree-dump-times "Threaded" 3 "vrp1" { target { ! logical_op_short_circuit } } } } */
|
||||
|
||||
/* On targets that define LOGICAL_OP_NON_SHORT_CIRCUIT to 0, we split both
|
||||
"a_elt || b_elt" and "b_elt && kill_elt" into two conditions each,
|
||||
|
@ -10540,6 +10540,8 @@ vrp_dom_walker::before_dom_children (basic_block bb)
|
||||
{
|
||||
gimple_stmt_iterator gsi;
|
||||
|
||||
m_avail_exprs_stack->push_marker ();
|
||||
m_const_and_copies->push_marker ();
|
||||
for (gsi = gsi_start_nondebug_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
|
||||
{
|
||||
gimple *stmt = gsi_stmt (gsi);
|
||||
|
Loading…
x
Reference in New Issue
Block a user