[all-commits] [llvm/llvm-project] 3d4eed: [LV] Reuse SCEV expansion results for epilogue vec...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu May 11 14:00:37 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3d4eed01338d3b5f0bb5b2dbe41afc9d957d3cc6
      https://github.com/llvm/llvm-project/commit/3d4eed01338d3b5f0bb5b2dbe41afc9d957d3cc6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-05-11 (Thu, 11 May 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll

  Log Message:
  -----------
  [LV] Reuse SCEV expansion results for epilogue vectorization.

When generating code for the epilogue vector loop, we need to re-use the
expansion results for induction steps generated for the main vector
loop, as the pre-header of the epilogue vector loop may not dominate the
vector preheader of the epilogue.

This fixes a reported crash. Note that this is a workaround which should
be removed soon once induction resume value creation is handled in VPlan
directly.




More information about the All-commits mailing list