[all-commits] [llvm/llvm-project] a2ce10: [ConstraintElim] Use range-based NUW/NSW inferrenc...

Florian Hahn via All-commits all-commits at lists.llvm.org
Mon Sep 7 14:42:44 PDT 2026


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/add-nsw.ll
    M llvm/test/Transforms/ConstraintElimination/cond-used-in-phi.ll
    M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
    M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit.ll
    M llvm/test/Transforms/ConstraintElimination/induction-nowrap-from-scev-not-ir.ll
    M llvm/test/Transforms/ConstraintElimination/loops.ll
    M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-cfg.ll
    M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-decrement.ll
    M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-wrapping.ll
    M llvm/test/Transforms/ConstraintElimination/pr70510.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned-is-known-non-negative.ll
    M llvm/test/Transforms/ConstraintElimination/wrapping-math.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll

  Log Message:
  -----------
  [ConstraintElim] Use range-based NUW/NSW inferrence for Add. (#221487)

Factor out logic to strengthen NUW/NSW flags based on know no-wrap
regions and also use it for ADD.

This enables a number of additional folds in real-world workloads:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1215

Compile-time impact in the noise for geomean. Per workload there are a
few improvements and one regression `lencod` (stage1-ReleaseThinLTO)
https://llvm-compile-time-tracker.com/compare.php?from=bb577f620571ce3bb97f2e717b53500574a9cf27&to=6de758abcfa6fb6e9de359b1fb5cfb67b689afe5&stat=instructions:u

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



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