[all-commits] [llvm/llvm-project] 1fa37d: [SelectionDAG] Deal with POISON for INSERT_VECTOR_...

Björn Pettersson via All-commits all-commits at lists.llvm.org
Wed Jun 11 02:35:49 PDT 2025


  Branch: refs/heads/users/bjope/insertundef_4
  Home:   https://github.com/llvm/llvm-project
  Commit: 1fa37de18003543bd9ad73a4a307463eb22134ab
      https://github.com/llvm/llvm-project/commit/1fa37de18003543bd9ad73a4a307463eb22134ab
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2025-06-11 (Wed, 11 Jun 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vw-web-simplification.ll

  Log Message:
  -----------
  [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 3)

Target specific patches to avoid regressions seen after "part 1"
aiming at fixing github issue #141034.

One perhaps controversial change here is that convertToScalableVector
now uses POISON instead of UNDEF for any additional elements added
when converting to the scalable vector. This can avoid that we end
up with things like
  t31: nxv1f32 =
  t32: v2f32 = extract_subvector t31, Constant:i64<0>
  t38: nxv1f32 = insert_subvector undef:nxv1f32, t32, Constant:i64<0>
since if we instead try to insert into poison we can just use t31
instead of t38 without the risk that t31 would be more poisonous.



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