[llvm] [IA] Relax the requirement of having ExtractValue users on deinterleave intrinsic (PR #148716)
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 14 15:53:41 PDT 2025
https://github.com/preames commented:
I had been playing with a somewhat related idea, but in a slightly different direction. I think that trying to handle the shuffle based and intrinsic based cases via the same API was a mistake. If we design an API for the intrinsic lowering path, we can pas the "load like" instruction, and the deinterleave intrinsic directly. The fact that some of the loads are LoadInst, and others are IntrinsicInst are implementation details. Doing it that way achieves a similar effect in that the extracts become irrelevant, we're directly replacing the pair of load + deinterleave.
My approach does require that we handle the "one active" case through some kind of combine after rewriting (since the API no longer knows which extracts are used.) I was planning to go explore that, but hadn't gotten there yet.
https://github.com/llvm/llvm-project/pull/148716
More information about the llvm-commits
mailing list