[all-commits] [llvm/llvm-project] 13ffde: [ConstraintElim] Remove dead compares after simpli...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Aug 24 14:13:56 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 13ffde316a8541d77116bd18f73efada236617f3
      https://github.com/llvm/llvm-project/commit/13ffde316a8541d77116bd18f73efada236617f3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-08-24 (Thu, 24 Aug 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/analysis-invalidation.ll
    M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
    M llvm/test/Transforms/ConstraintElimination/and.ll
    M llvm/test/Transforms/ConstraintElimination/assumes.ll
    M llvm/test/Transforms/ConstraintElimination/cond-used-in-phi.ll
    M llvm/test/Transforms/ConstraintElimination/constants-signed-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/constants-unsigned-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/decompose-with-temporary-indices.ll
    M llvm/test/Transforms/ConstraintElimination/dom.ll
    M llvm/test/Transforms/ConstraintElimination/empty-constraint.ll
    M llvm/test/Transforms/ConstraintElimination/eq.ll
    M llvm/test/Transforms/ConstraintElimination/gep-add-multiple-indices.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-add.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-different-types.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-signed-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll
    M llvm/test/Transforms/ConstraintElimination/gep-chains.ll
    M llvm/test/Transforms/ConstraintElimination/gep-constexpr.ll
    M llvm/test/Transforms/ConstraintElimination/gep-sub.ll
    M llvm/test/Transforms/ConstraintElimination/geps-i32-pointer-indexes.ll
    M llvm/test/Transforms/ConstraintElimination/geps-pointers-to-arrays.ll
    M llvm/test/Transforms/ConstraintElimination/geps-pointers-to-structs.ll
    M llvm/test/Transforms/ConstraintElimination/geps-ptrvector.ll
    M llvm/test/Transforms/ConstraintElimination/geps-unsigned-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/invoke.ll
    M llvm/test/Transforms/ConstraintElimination/large-constant-ints.ll
    M llvm/test/Transforms/ConstraintElimination/large-system-growth.ll
    M llvm/test/Transforms/ConstraintElimination/loops-header-tested-base.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/loops.ll
    M llvm/test/Transforms/ConstraintElimination/max-row-limit.ll
    M llvm/test/Transforms/ConstraintElimination/minmax.ll
    M llvm/test/Transforms/ConstraintElimination/mixed-signed-unsigned-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/mul-nsw.ll
    M llvm/test/Transforms/ConstraintElimination/mul.ll
    M llvm/test/Transforms/ConstraintElimination/ne.ll
    M llvm/test/Transforms/ConstraintElimination/or.ll
    M llvm/test/Transforms/ConstraintElimination/pointercast.ll
    M llvm/test/Transforms/ConstraintElimination/range_checks.ll
    M llvm/test/Transforms/ConstraintElimination/sge.ll
    M llvm/test/Transforms/ConstraintElimination/shl.ll
    M llvm/test/Transforms/ConstraintElimination/signed-query-unsigned-system.ll
    M llvm/test/Transforms/ConstraintElimination/sub-nuw.ll
    M llvm/test/Transforms/ConstraintElimination/switch.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/uge.ll
    M llvm/test/Transforms/ConstraintElimination/ugt-ule.ll
    M llvm/test/Transforms/ConstraintElimination/ule.ll
    M llvm/test/Transforms/ConstraintElimination/uses-in-different-blocks.ll
    M llvm/test/Transforms/ConstraintElimination/vector-compares.ll
    M llvm/test/Transforms/ConstraintElimination/wrapping-math.ll
    M llvm/test/Transforms/ConstraintElimination/zext-for-per-formula-reasoning.ll
    M llvm/test/Transforms/ConstraintElimination/zext.ll

  Log Message:
  -----------
  [ConstraintElim] Remove dead compares after simplification.

Remove compares after replacing all uses. Cleaning dead compares can
enable additional simplifications when adjusting the position of the
pass slightly. In particular, it seems like the additional dead
instructions may prevent SimplifyCFG performing some folds.

Reviewed By: nikic

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




More information about the All-commits mailing list