(sshl/ushl X, Y) != 0 -> X != 0
Alive2 Links
https://alive2.llvm.org/ce/z/4WLM2p https://alive2.llvm.org/ce/z/BHFng4
Paths
| Differential D149411
[ValueTracking] Add logic for `isKnownNonZero(sshl.sat/ushl.sat X, Y)` ClosedPublic Authored by goldstein.w.n on Apr 27 2023, 11:19 PM.
Details Summary (sshl/ushl X, Y) != 0 -> X != 0 Alive2 Links https://alive2.llvm.org/ce/z/4WLM2p https://alive2.llvm.org/ce/z/BHFng4
Diff Detail
Event Timelinegoldstein.w.n added a parent revision: D149410: [ValueTracking] Add logic for `isKnownNonZero(ctlz/cttz X)`.Apr 27 2023, 11:26 PM goldstein.w.n added a child revision: D149412: [ValueTracking] Add logic for `isKnownNonZero(ssub.sat X, Y)`. This revision is now accepted and ready to land.Apr 28 2023, 1:34 AM Closed by commit rGf1dfa4938a2f: [ValueTracking] Add logic for `isKnownNonZero(sshl.sat/ushl.sat X, Y)` (authored by goldstein.w.n). · Explain WhyApr 30 2023, 8:07 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 517795 llvm/lib/Analysis/ValueTracking.cpp
llvm/test/Analysis/ValueTracking/known-non-zero.ll
|