[llvm] [NFC][TargetTransformInfo][VectorUtils] Consolidate `isVectorIntrinsic...` api (PR #117635)

Finn Plummer via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 16 17:53:14 PST 2024


inbelic wrote:

Rebased onto main to resolve merge conflicts and updated to move `isTriviallyScalarizable` into `VectorUtils`.

I decided to keep the two functions separate as it will force any future intrinsic that implements scalarization to also implement vectorization, which may be redundant work. But also, because `isTriviallyVectorizable` is used for other logic that needs to be audited before changing. For instance, `isNotCrossLaneOperation`, where it is not true that if a function is scalarizable then it is not a cross-lane op (`dx_wave_readlane`).

I created this [issue](https://github.com/llvm/llvm-project/issues/120169) to track the work needed to update `isTriviallyVectorizable` to accept target intrinsics and from there we could consider if we could merge them.

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


More information about the llvm-commits mailing list