[all-commits] [llvm/llvm-project] f57bdc: [ConstraintElim] Handle (X & Y) <s 0 as X <s 0 && ...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Jul 16 09:03:26 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f57bdc62619417a2ee9076ac05db9d115c3ba464
      https://github.com/llvm/llvm-project/commit/f57bdc62619417a2ee9076ac05db9d115c3ba464
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/and-negative.ll
    M llvm/test/Transforms/PhaseOrdering/constraint-eliminiation-interactions.ll

  Log Message:
  -----------
  [ConstraintElim] Handle (X & Y) <s 0 as X <s 0 && Y <s 0. (#210033)

InstCombine canonicalizes X <s 0 && Y <s 0 as (X & Y) <s 0. Teach
ConstraintElimination to recover the signed-negative information by
looking through compares of binary ANDs.

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

Depends on https://github.com/llvm/llvm-project/pull/209743 

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



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