V1 >> V2 u<= V1 for any V1, V2
This works for lshr and any div's that are changed to lshr's
This fixes issues in clang and rustc:
https://github.com/llvm/llvm-project/issues/62441
https://github.com/rust-lang/rust/issues/110971
Paths
| Differential D151541
[ValueTracking] Implied conditions for lshr ClosedPublic Authored by caojoshua on May 26 2023, 1:20 AM.
Details Summary V1 >> V2 u<= V1 for any V1, V2 This works for lshr and any div's that are changed to lshr's This fixes issues in clang and rustc:
Diff Detail
Event TimelineComment Actions I've confirmed this fixes the clang issue. Not sure how to test for rustc, but it should fix based on what I'm seeing in the IR. This revision is now accepted and ready to land.Jun 6 2023, 9:41 AM This revision was landed with ongoing or failed builds.Jun 6 2023, 9:08 PM Closed by commit rGcb9f1aaddac0: [ValueTracking] Implied conditions for lshr (authored by caojoshua). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 529148 llvm/lib/Analysis/ValueTracking.cpp
llvm/test/Transforms/InstSimplify/implies.ll
|