[COMMITTED] Switch vrp2 to ranger.
Commit Message
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.
Andrew
From 502ffb1f389011b28ee51815242c7397790802d5 Mon Sep 17 00:00:00 2001
From: Andrew MacLeod <amacleod@redhat.com>
Date: Tue, 2 Nov 2021 21:26:44 -0400
Subject: [PATCH 6/6] Switch vrp2 to ranger.
This patch flips the default for the VRP2 pass to execute ranger vrp rather
than the assert_expr version of VRP.
* params.opt (param_vrp2_mode): Make ranger the default for VRP2.
---
gcc/params.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -1156,7 +1156,7 @@ Common Joined Var(param_vrp1_mode) Enum(vrp_mode) Init(VRP_MODE_VRP) Param Optim
--param=vrp1-mode=[vrp|ranger] Specifies the mode VRP1 should operate in.
-param=vrp2-mode=
-Common Joined Var(param_vrp2_mode) Enum(vrp_mode) Init(VRP_MODE_VRP) Param Optimization
+Common Joined Var(param_vrp2_mode) Enum(vrp_mode) Init(VRP_MODE_RANGER) Param Optimization
--param=vrp2-mode=[vrp|ranger] Specifies the mode VRP2 should operate in.
Enum
--
2.17.2