re PR tree-optimization/81346 (Missed constant propagation into comparison)
PR tree-optimization/81346 * fold-const.h (fold_div_compare, range_check_type): Declare. * fold-const.c (range_check_type): New function. (build_range_check): Use range_check_type. (fold_div_compare): No longer static, rewritten into a match.pd helper function. (fold_comparison): Don't call fold_div_compare here. * match.pd (X / C1 op C2): New optimization using fold_div_compare as helper function. * gcc.dg/tree-ssa/pr81346-1.c: New test. * gcc.dg/tree-ssa/pr81346-2.c: New test. * gcc.dg/tree-ssa/pr81346-3.c: New test. * gcc.dg/tree-ssa/pr81346-4.c: New test. * gcc.target/i386/umod-3.c: Hide comparison against 1 from the compiler to avoid X / C1 op C2 optimization to trigger. From-SVN: r250338
Showing
This diff is collapsed.
Click to expand it.
gcc/testsuite/gcc.dg/tree-ssa/pr81346-1.c
0 → 100644
gcc/testsuite/gcc.dg/tree-ssa/pr81346-2.c
0 → 100644
gcc/testsuite/gcc.dg/tree-ssa/pr81346-3.c
0 → 100644
gcc/testsuite/gcc.dg/tree-ssa/pr81346-4.c
0 → 100644
Please
register
or
sign in
to comment