[all-commits] [llvm/llvm-project] 680c2e: [VPlan] Use frozen combined condition in early exi...

Luke Lau via All-commits all-commits at lists.llvm.org
Tue Sep 15 03:38:32 PDT 2026


  Branch: refs/heads/users/lukel97/loop-vectorize/early-exit-fal-freeze
  Home:   https://github.com/llvm/llvm-project
  Commit: 680c2ef8b0efe71647e2cc767a6f76d825e4e594
      https://github.com/llvm/llvm-project/commit/680c2ef8b0efe71647e2cc767a6f76d825e4e594
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
    M llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
    M llvm/test/Transforms/LoopVectorize/early-exit-load-live-out.ll
    M llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.ll
    M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
    M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
    M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
    M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-only.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    M llvm/test/Transforms/LoopVectorize/sink-to-early-exit.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-predicated-early-exit.ll

  Log Message:
  -----------
  [VPlan] Use frozen combined condition in early exit first-active-lane

Combined is used both to compute if an early exit was taken via VPInstruction::AnyOf, as well as the index of the early-exited lane in VPInstruction::FirstActiveLane.

Combined can have poison lanes past the exited lane, so the AnyOf uses freeze to prevent branching on poison. However FirstActiveLane on a vector with a poison lane is poison, so we need to also use the frozen version of Combined to prevent poison there.


  Commit: 2357e864d788da4ba7c113cef072b6c823d922e5
      https://github.com/llvm/llvm-project/commit/2357e864d788da4ba7c113cef072b6c823d922e5
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll

  Log Message:
  -----------
  Fix early_exit_costs.ll test


Compare: https://github.com/llvm/llvm-project/compare/e3cbd83f3d82...2357e864d788

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