[all-commits] [llvm/llvm-project] d79d9b: [SLP]Change the insertion point for outside-block-...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Fri May 16 09:52:49 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d79d9b8fbfc7e8411aeaf2f5e1be9d4247594fee
      https://github.com/llvm/llvm-project/commit/d79d9b8fbfc7e8411aeaf2f5e1be9d4247594fee
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-05-16 (Fri, 16 May 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvectors-parent-phi-nodes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/full-matched-bv-with-subvectors.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-bv-schedulable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-nodes-updated.ll
    A llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-num-operands.ll
    M llvm/test/Transforms/SLPVectorizer/revec.ll

  Log Message:
  -----------
  [SLP]Change the insertion point for outside-block-used nodes and prevec phi operand gathers

Need to set the insertion point for (non-schedulable) vector node after
the last instruction in the node to avoid def-use breakage. But it also
causes miscompilation with gather/buildvector operands of the phi nodes,
used in the same phi only in the block.
These nodes supposed to be inserted at the end of the block and after
changing the insertion point for the non-schedulable vec block, it also
may break def-use dependencies. Need to prevector such nodes, to emit
them as early as possible, so the vectorized nodes are inserted before
these nodes.

Fixes #139728

Reviewers: hiraditya, HanKuanChen, RKSimon

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/139917



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list