[all-commits] [llvm/llvm-project] 48bc5b: [SLP][PR64099]Fix unsound undef to poison transfor...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Jul 27 16:14:34 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 48bc5b0a297e51a0556b6e9b77c772d85c39be01
      https://github.com/llvm/llvm-project/commit/48bc5b0a297e51a0556b6e9b77c772d85c39be01
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-07-27 (Thu, 27 Jul 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-const-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll

  Log Message:
  -----------
  [SLP][PR64099]Fix unsound undef to poison transformation when handling
insertelement instructions.

If the original vector has undef, not poison values, which are not
rewritten by later insertelement instructions, need to transform shuffle
with the undef vector, not a poison vector, and actual indices, not
PoisonMaskElem, otherwise the transformation may produce more poisons
output than the input.




More information about the All-commits mailing list