[all-commits] [llvm/llvm-project] 98e016: [ConstraintElim] Handle trivial (ICMP_ULE, 0, B) i...

Florian Hahn via All-commits all-commits at lists.llvm.org
Wed Sep 27 04:12:09 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 98e016d99732dc8fef8cfd61d6ce1edd042309a1
      https://github.com/llvm/llvm-project/commit/98e016d99732dc8fef8cfd61d6ce1edd042309a1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-09-27 (Wed, 27 Sep 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/add-nsw.ll
    M llvm/test/Transforms/ConstraintElimination/add-nuw.ll
    M llvm/test/Transforms/ConstraintElimination/and.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-add.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll
    M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
    M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-iv.ll
    M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-cfg.ll
    M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-unsigned-facts-to-signed.ll
    M llvm/test/Transforms/ConstraintElimination/usub-with-overflow.ll
    M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll

  Log Message:
  -----------
  [ConstraintElim] Handle trivial (ICMP_ULE, 0, B) in doesHold.

D152730 may add trivial pre-conditions of the form (ICMP_ULE, 0, B),
which won't be handled automatically by the constraint system, because
we don't add Var >= 0 for all variables in the unsigned system.

Handling the trivial condition explicitly here avoids having the
increase the number of rows in the system per variable.

https://alive2.llvm.org/ce/z/QC92ur

Depends on D152730.

Fixes #63125.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D158776




More information about the All-commits mailing list