[all-commits] [llvm/llvm-project] 8df64e: [LV] Don't consider IV increments uniform if exit ...

Florian Hahn via All-commits all-commits at lists.llvm.org
Sun Jan 12 14:04:02 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8df64ed77727ab9b7540819f2fe64379e88a50be
      https://github.com/llvm/llvm-project/commit/8df64ed77727ab9b7540819f2fe64379e88a50be
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/X86/uniform-phi.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    A llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll

  Log Message:
  -----------
  [LV] Don't consider IV increments uniform if exit value is used outside.

In some cases, there might be a chain of uniform instructions producing
the exit value. To generate correct code in all cases, consider the IV
increment not uniform, if there are users outside the loop.

Instead, let VPlan narrow the IV, if possible using the logic from
3ff1d01985752.

Test case from #122602 verified with Alive2:
    https://alive2.llvm.org/ce/z/bA4EGj

Fixes https://github.com/llvm/llvm-project/issues/122496.
Fixes https://github.com/llvm/llvm-project/issues/122602.



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