[all-commits] [llvm/llvm-project] 4b4699: [InstCombine] Don't cover up poison elements for s...

Luke Lau via All-commits all-commits at lists.llvm.org
Sat May 24 05:47:39 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4b4699a13c9d05fa828b06bf398f1432ff3d9fb8
      https://github.com/llvm/llvm-project/commit/4b4699a13c9d05fa828b06bf398f1432ff3d9fb8
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll

  Log Message:
  -----------
  [InstCombine] Don't cover up poison elements for shifts when folding shuffles thru binops (#141303)

As noted in the TODO, we don't need to cover up the poison elements
placed in the unused lanes for shifts, since it's not UB unlike div/rem.

New poison elements are only introduced in cases like

ShMask = <1,1,2,2> and C = <5,5,6,6> --> NewC = <poison,5,6,poison>

And the resulting shuffle won't use the poison lanes.



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