[all-commits] [llvm/llvm-project] af8309: [VectorCombine] eraseInstruction - ensure we reatt...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Mon Dec 30 09:53:16 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: af83093933ca73bc82c33130f8bda9f1ae54aae2
      https://github.com/llvm/llvm-project/commit/af83093933ca73bc82c33130f8bda9f1ae54aae2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll

  Log Message:
  -----------
  [VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands

As we're reducing the use count of the operands its more likely that they will now fold, as they were previously being prevented by a m_OneUse check, or the cost of retaining the extra instruction had been too high.

This is necessary for some upcoming patches, although the only change so far is instruction ordering as it allows some SSE folds of 256/512-bit with 128-bit subvectors to occur earlier in foldShuffleToIdentity as the subvector concats are free.

Pulled out of #120984



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