[all-commits] [llvm/llvm-project] 3ba57d: [ConstraintElim] Support IV increments via [u|s]ad...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Sep 8 12:01:26 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3ba57d142cc3b70ee49798d47d5da9fd99b482dd
      https://github.com/llvm/llvm-project/commit/3ba57d142cc3b70ee49798d47d5da9fd99b482dd
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/header-induction-start-bounds.ll
    M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
    M llvm/test/Transforms/PhaseOrdering/constraint-eliminiation-interactions.ll

  Log Message:
  -----------
  [ConstraintElim] Support IV increments via [u|s]add.with.overflow. (#221771)

Treat [u|s]add.with.overflow like plain add when looking for increment
of an IV. We do not retrieve any wrap flags from the IR in that case, and
leave it to SCEV to determine them as needed.

This did not show any improvements on the workloads in
llvm-opt-benchmark-nightly, but helps to remove runtime checks for Swift
code end-to-end (see newly added PhaseOrdering test).

Alive2 Proof: https://alive2.llvm.org/ce/z/o2vMyw

PR: https://github.com/llvm/llvm-project/pull/221771



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