[all-commits] [llvm/llvm-project] 7c9646: [ValueTracking] Extend LHS/RHS with matching opera...
goldsteinn via All-commits
all-commits at lists.llvm.org
Wed Jul 3 05:23:51 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7c96469ea86a8d41aaa1bdb51b14894b0fbf16c0
https://github.com/llvm/llvm-project/commit/7c96469ea86a8d41aaa1bdb51b14894b0fbf16c0
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/icmp-select-implies-common-op.ll
M llvm/test/Transforms/InstCombine/range-check.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/NewGVN/pr35125.ll
Log Message:
-----------
[ValueTracking] Extend LHS/RHS with matching operand to work without constants.
Previously we only handled the `L0 == R0` case if both `L1` and `R1`
where constant.
We can get more out of the analysis using general constant ranges
instead.
For example, `X u> Y` implies `X != 0`.
In general, any strict comparison on `X` implies that `X` is not equal
to the boundary value for the sign and constant ranges with/without
sign bits can be useful in deducing implications.
Closes #85557
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list