[llvm] [InstCombine] Improve shamt range calculation (PR #72646)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 28 10:53:22 PST 2023
nikic wrote:
> > It looks like this only affects tests using non-splat vectors. I'm usually not willing to accept improvements for non-splat vector support unless they are completely free in terms of complexity. Is there any particular reason why we would want this support?
> > (I'm not particularly strongly opposed though. If you think it has value I'm okay with it.)
>
> The impl doesn't seem to go out of ways to handle non-splats, just they are a byproduct.
Right, I get that the implementation is not specific to non-splat vectors. I'm mainly commenting on what I see in the test coverage.
Usually, we use getConstantRangeIncludingKnownBits() in places where accurate handling for non-power-of-two ranges is important, e.g. if we care that `urem 42` has an upper bound of 41, not of 63.
> Think you could create the same result with `(add (and X, ~Pow2), Pow2 * 3)` where we could get the knownbit but not the range.
I didn't understand this example.
https://github.com/llvm/llvm-project/pull/72646
More information about the llvm-commits
mailing list