https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78496
--- Comment #12 from Jeffrey A. Law <law at gcc dot gnu.org> --- Author: law Date: Mon Dec 4 16:14:24 2017 New Revision: 255387 URL: https://gcc.gnu.org/viewcvs?rev=255387&root=gcc&view=rev Log: PR tree-optimizatin/78496 * gimple-ssa-evrp-analyze.h (evrp_range_analyzer::get_vr_values): Simplify. * gimple-ssa-evrp-analyze.c: Corresponding changes. * tree-ssa-dom.c: Include alloc-pool.h, tree-vrp.h, vr-values.h and gimple-ssa-evrp-analyze.h. (dom_opt_dom_walker class): Add evrp_range_analyzer member. (simplify_stmt_for_jump_threading): Copy a blob of code from tree-vrp.c to use ranges to simplify statements. (dom_opt_dom_walker::before_dom_children): Call evrp_range_analyzer::{enter,record_ranges_from_stmt} methods. (dom_opt_dom_walker::after_dom_children): Similarly for evrp_range_analyzer::leave. (dom_opt_dom_walker::optimize_stmt): Use EVRP ranges to optimize conditionals. PR tree-optimization/78496 * gcc.dg/builtin-unreachable-6.c: Disable DOM. * gcc.dg/builtin-unreachable-6a.c: New test. * gcc.dg/tree-ssa/20030922-1.c: No longer XFAIL. * gcc.dg/ssa-dom-branch-1.c: Tweak expected output. Added: trunk/gcc/testsuite/gcc.dg/builtin-unreachable-6a.c Modified: trunk/gcc/ChangeLog trunk/gcc/gimple-ssa-evrp-analyze.h trunk/gcc/gimple-ssa-evrp.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/builtin-unreachable-6.c trunk/gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-branch-1.c trunk/gcc/tree-ssa-dom.c