summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-niter.c
diff options
context:
space:
mode:
authorKugan Vivekanandarajah <kuganv@linaro.org>2018-07-13 05:25:47 +0000
committerKugan Vivekanandarajah <kugan@gcc.gnu.org>2018-07-13 05:25:47 +0000
commit061d40da00952fe7eabd8faae60e3cc4ac8f734a (patch)
treecd8810be6cbfa003a055108252efa03a7b119ffb /gcc/tree-ssa-loop-niter.c
parentb18bb376a1fa8c48645a7527720f756ae0bb6b87 (diff)
re PR tree-optimization/86489 (ICE in gimple_phi_arg starting with r261682 when building 531.deepsjeng_r with FDO + LTO)
gcc/ChangeLog: 2018-07-13 Kugan Vivekanandarajah <kuganv@linaro.org> Richard Biener <rguenther@suse.de> PR middle-end/86489 * tree-ssa-loop-niter.c (number_of_iterations_popcount): Check that the loop latch destination where phi is defined. gcc/testsuite/ChangeLog: 2018-07-13 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/86489 * gcc.dg/pr86489.c: New test. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r262622
Diffstat (limited to 'gcc/tree-ssa-loop-niter.c')
-rw-r--r--gcc/tree-ssa-loop-niter.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index f6fa2f74744..fbdf838496b 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -2555,6 +2555,7 @@ number_of_iterations_popcount (loop_p loop, edge exit,
... = PHI <b_5(2), b_6(3)>. */
gimple *phi = SSA_NAME_DEF_STMT (b_11);
if (gimple_code (phi) != GIMPLE_PHI
+ || (gimple_bb (phi) != loop_latch_edge (loop)->dest)
|| (gimple_assign_lhs (and_stmt)
!= gimple_phi_arg_def (phi, loop_latch_edge (loop)->dest_idx)))
return false;