https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101240
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- here is a better testcase: ``` int test_array(unsigned (&a)[3]) { int t = (a[0]+a[1]+a[2]); ALWAYS_TRUE(a[0] < a[1] && a[1] < a[2]); return (a[0] < a[2])+t; } ``` (just to make sure VRP is only dealing with SSA names). We should be able to optimize the above to just return a[0]+a[1]+a[2]+1;