[all-commits] [llvm/llvm-project] f4dabd: [VPlan] Update VPInst::onlyFirstLaneUsed to check ...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Feb 1 02:40:13 PST 2024


  Branch: refs/heads/users/fhahn/vplan-vpinst-onlyfirstlaneused
  Home:   https://github.com/llvm/llvm-project
  Commit: f4dabdfaa66744ecfca4c0a57472a357db9715d9
      https://github.com/llvm/llvm-project/commit/f4dabdfaa66744ecfca4c0a57472a357db9715d9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-01 (Thu, 01 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll

  Log Message:
  -----------
  [VPlan] Update VPInst::onlyFirstLaneUsed to check users.

A VPInstruction only has its first lane used if all users use its first
lane only. Use vputils::onlyFirstLaneUsed to continue checking the
recipe's users to handle more cases.

Besides allowing additional introduction of scalar steps when
interleaving in some cases, this also enables using an Add VPInstruction
to model the increment.




More information about the All-commits mailing list