[all-commits] [llvm/llvm-project] bb4f4a: [CVP] Add additional tests for PR63330 (NFC)

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Jun 19 08:17:05 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bb4f4a3efeae2bc0785edc19d2347f21729c816c
      https://github.com/llvm/llvm-project/commit/bb4f4a3efeae2bc0785edc19d2347f21729c816c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-06-19 (Mon, 19 Jun 2023)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/udiv-expansion.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/urem-expansion.ll

  Log Message:
  -----------
  [CVP] Add additional tests for PR63330 (NFC)


  Commit: 7cfc82f331182855e2634c21d242c3b418f84bd1
      https://github.com/llvm/llvm-project/commit/7cfc82f331182855e2634c21d242c3b418f84bd1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-06-19 (Mon, 19 Jun 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/udiv-expansion.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/urem-expansion.ll

  Log Message:
  -----------
  [CVP] Use simpler urem expansion when LHS >= RHS (PR63330)

In this case we don't need to emit the comparison and select.

This is papering over a weakness in CVP in that newly added
instructions don't get revisited. If they were revisited, the
icmp would be folded at that point.

However, even without that it makes sense to handle this explicitly,
because it avoids the need to insert freeze, which may prevent
further analysis of the operation by LVI.

Proofs: https://alive2.llvm.org/ce/z/quyBxp

Fixes https://github.com/llvm/llvm-project/issues/63330.


Compare: https://github.com/llvm/llvm-project/compare/b4bb6211a5e7...7cfc82f33118


More information about the All-commits mailing list