https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82264
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Tue Sep 26 10:16:40 2017 New Revision: 253190 URL: https://gcc.gnu.org/viewcvs?rev=253190&root=gcc&view=rev Log: 2017-09-26 Richard Biener <rguent...@suse.de> Backport from mainline 2017-09-19 Richard Biener <rguent...@suse.de> PR tree-optimization/82244 * tree-vrp.c (remove_range_assertions): Do not propagate a constant to abnormals but replace the assert with a copy. * gcc.dg/torture/pr82244.c: New testcase. 2017-09-21 Richard Biener <rguent...@suse.de> PR tree-optimization/82276 PR tree-optimization/82244 * tree-vrp.c (build_assert_expr_for): Set SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the variable we assert on has it set. (remove_range_assertions): Revert earlier change. * gcc.dg/torture/pr82276.c: New testcase. 2017-09-20 Richard Biener <rguent...@suse.de> PR tree-optimization/82264 * tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check for GIMPLE_CONDs. (vn_phi_lookup): Likewise. (vn_phi_insert): Likewise. * is-a.h (safe_dyn_cast): New. * gcc.dg/torture/pr82264.c: New testcase. 2017-09-25 Richard Biener <rguent...@suse.de> PR tree-optimization/82285 * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle enumeral types. * gcc.dg/torture/pr82285.c: New testcase. 2017-09-22 Richard Biener <rguent...@suse.de> PR tree-optimization/82291 * tree-if-conv.c (predicate_mem_writes): Make sure to remove writes in blocks predicated with false. * gcc.dg/torture/pr82291.c: New testcase. Added: branches/gcc-7-branch/gcc/testsuite/gcc.dg/torture/pr82244.c branches/gcc-7-branch/gcc/testsuite/gcc.dg/torture/pr82264.c branches/gcc-7-branch/gcc/testsuite/gcc.dg/torture/pr82276.c branches/gcc-7-branch/gcc/testsuite/gcc.dg/torture/pr82285.c branches/gcc-7-branch/gcc/testsuite/gcc.dg/torture/pr82291.c Modified: branches/gcc-7-branch/gcc/ChangeLog branches/gcc-7-branch/gcc/is-a.h branches/gcc-7-branch/gcc/testsuite/ChangeLog branches/gcc-7-branch/gcc/tree-if-conv.c branches/gcc-7-branch/gcc/tree-ssa-sccvn.c branches/gcc-7-branch/gcc/tree-vect-patterns.c branches/gcc-7-branch/gcc/tree-vrp.c