[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