llvm-project
llvm-project copied to clipboard
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
This patch passes APInt by const reference in m_SpecificInt instead of by value. Specifically, it refactors `m_SpecificInt(uint64_t V)` to avoid APInt construction and dangling reference. I believe it is safe...
- **[ValueTracking] Add basic tests tracking `or disjoint` conditions as `add`; NFC** - **[ValueTracking] Tracking `or disjoint` conditions as `add` in Assumption/DomCondition Cache**
add restrict reassoc for the powi(X,Y) / X according the discuss on PR69998
This patch calculates knownbits from fp instructions/dominating fcmp conditions. It will enable more optimizations with signbit idioms.
Fixes #86203
Fold select if the user of its select user indicates the condition Fix https://github.com/llvm/llvm-project/issues/83225
If the RHS is a constant with X trailing zeros, then the X MSBs of the LHS are not demanded. I don't have any plans to do anything with this...
Pulled out of #39822 which was a bit too general. Unlike the general ISD SRA/SRL/SHL nodes, the AVX2 vector shift nodes X86ISD VSRAV/VSRLV/VSHLV handle out of bounds shift amounts: -...
It's not legal to optimize away pointer `p + (q - p)` in general (), due to provenance. However, when it's used in `ptrtoint`, and thus the provenance isn't relevant,...