[llvm] [LLVM][SelectionDAG] Remove scalable vector restriction from poison analysis. (PR #102504)

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 13 07:49:39 PDT 2024


preames wrote:

> > You probably want to add handling for SPLAT_VECTOR in getValidShiftAmountRange
> 
> I've taken a look and think getValidShiftAmountRange already works? It'll drop into `computeKnownBits` which already handles SPLAT_VECTOR.

Looks like you're right.  I glanced at the BUILD_VECTOR specific code in getValidShiftAmountRange and without looking at it real closely assumed we'd need a parallel.  Looking at it now, I see that's computing a constant range directly from constants instead of getting a less precise one from KnownBits.  SPLAT_VECTOR doesn't have that challenge since there's only a single value, so if the operand is constant the knownbits will be precise.  

https://github.com/llvm/llvm-project/pull/102504


More information about the llvm-commits mailing list