Add additional cases for:
select, vselect, {u,s}{min,max}, and, casts, rotl, rotr
And improve handling of constants and shifts.
Paths
| Differential D156778
[SelectionDAG] Improve `isKnownToBeAPowerOfTwo` ClosedPublic Authored by goldstein.w.n on Aug 1 2023, 12:35 AM.
Details Summary Add additional cases for: And improve handling of constants and shifts.
Diff Detail
Unit TestsFailed
Event Timelinegoldstein.w.n added a child revision: D154804: [X86] Add tests for folding `fmul`/`fdiv` by Pow2 to `add`/`sub` of exp; NFC.Aug 1 2023, 12:40 AM goldstein.w.n added a parent revision: D156777: [SelectionDAG] Add/Improve cases in `isKnownNeverZero`.
This revision is now accepted and ready to land.Aug 4 2023, 6:07 AM This revision was landed with ongoing or failed builds.Aug 15 2023, 11:59 PM Closed by commit rG2549ec18669b: [SelectionDAG] Improve `isKnownToBeAPowerOfTwo` (authored by goldstein.w.n). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 546924 llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/test/CodeGen/X86/known-pow2.ll
|
Looking through ANY_EXTEND is probably broken