This tries to fold unconditionally and fixes some test cases. gcc/ChangeLog: 2017-05-18 Robin Dapp * tree-ssa-propagate.c (substitute_and_fold_dom_walker::before_dom_children): Always try to fold. gcc/testsuite/ChangeLog: 2017-05-18 Robin Dapp * g++.dg/tree-ssa/ssa-dse-2.C: Fix testcase. * gcc.dg/pr35691-1.c: Likewise. * gcc.dg/pr35691-2.c: Likewise. * gcc.dg/tree-ssa/forwprop-16.c: Likewise. * gcc.dg/tree-ssa/pr52631.c: Likewise. * gcc.dg/tree-ssa/vrp23.c: Likewise.