Re: [PATCH 2/4] VN: Handle `(a | b) !=/== 0` for predicates [PR117414]

2024-11-06 Thread Richard Biener
On Sat, Nov 2, 2024 at 4:10 PM Andrew Pinski wrote: > > For `(a | b) == 0`, we can "assert" on the true edge that > both `a == 0` and `b == 0` but nothing on the false edge. > For `(a | b) != 0`, we can "assert" on the false edge that > both `a == 0` and `b == 0` but nothing on the true edge. > Th

[PATCH 2/4] VN: Handle `(a | b) !=/== 0` for predicates [PR117414]

2024-11-02 Thread Andrew Pinski
For `(a | b) == 0`, we can "assert" on the true edge that both `a == 0` and `b == 0` but nothing on the false edge. For `(a | b) != 0`, we can "assert" on the false edge that both `a == 0` and `b == 0` but nothing on the true edge. This adds that predicate and allows us to optimize f0, f1, and f2 i