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

Luke Lau via All-commits all-commits at lists.llvm.org
Wed Sep 16 01:48:52 PDT 2026


  Branch: refs/heads/users/lukel97/loop-vectorize/early-exit-fal-freeze
  Home:   https://github.com/llvm/llvm-project
  Commit: 53ece97a61148df1953b95ec221efaae20f0e4e2
      https://github.com/llvm/llvm-project/commit/53ece97a61148df1953b95ec221efaae20f0e4e2
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-16 (Wed, 16 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: c51ffebe8e75bd16a1b9f9142dfd23b3dc04fdbe
      https://github.com/llvm/llvm-project/commit/c51ffebe8e75bd16a1b9f9142dfd23b3dc04fdbe
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-16 (Wed, 16 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/af0b2518b75d...c51ffebe8e75

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