[all-commits] [llvm/llvm-project] c4c30c: [SLP] Vectorize full insertvalue buildvector seque...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Fri Jun 12 13:33:27 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c4c30cebec281eb52e9742cfb1f892fa3c1d9624
      https://github.com/llvm/llvm-project/commit/c4c30cebec281eb52e9742cfb1f892fa3c1d9624
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-06-12 (Fri, 12 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insertvalue.ll

  Log Message:
  -----------
  [SLP] Vectorize full insertvalue buildvector sequences

Treat a complete chain of insertvalue instructions building a homogeneous
literal struct from scalars as a buildvector, like insertelement sequences.
The scalars are vectorized into one vector; the aggregate is rebuilt from it
via a stack store + load, or stored directly when its only user is a store.

insertvalue is routed through the existing insertelement buildvector paths
(type/index helpers, reordering, tree build, cost model, min-bitwidth, and
codegen). Only single-index, non-vector inserts building from an undef
aggregate are handled.

Fixes #43353

Reviewers: hiraditya, bababuck

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



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