[COMMITTED] Switch vrp2 to ranger.

Andrew MacLeod amacleod@redhat.com
Wed Nov 3 14:40:03 GMT 2021

This patch flips the switch and makes ranger the default for the VRP2 
pass. All of the testcases have been tweaked as necessary and the 
testsuite run should be clean.

I continue to work with ranger as the VRP1 pass determining what other 
things VRP is doing that ranger doesn't and unifying the testcases so 
that they pass with both VRP and ranger.

After the previous patch sets, there are only 2 failing testcases when 
ranger is used for the vrp1 pass:

    * gcc.dg/tree-ssa/pr79095.c  : This is an overflow of unsigned 
detection testcase, and I have not yet pushed relations up the GORI 
unwind stack. ie:

u1 = u2 + 1
if (u2 > u1)

on the true edge, since we know u2> u1, if you feed that relation back 
into the gori calculator, when it resolves u1 = u2 + 1, we would 
determine in op1_range  that u2 is [INT_MAX, INT_MAX] to satisfy that 
relation, and therefore u1 can be calculated as [0,0]

   *   gcc.dg/guality/pr54693-2.c  THis test is failing for just "-O2 
-flto -fuse-linker-plugin -fno-fat-lto-objects" for some reason I havent 
been able to fathom yet.

Bootstrapped on x86_64-pc-linux-gnu with no regressions.  Pushed.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-Switch-vrp2-to-ranger.patch
Type: text/x-patch
Size: 1053 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20211103/e4169bd0/attachment.bin>

More information about the Gcc-patches mailing list