[all-commits] [llvm/llvm-project] 457308: [ValueTracking] Add more tests for constant ranges...

goldsteinn via All-commits all-commits at lists.llvm.org
Thu Oct 12 12:12:46 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 457308a46a37fd56af06664ad923a06d50243a56
      https://github.com/llvm/llvm-project/commit/457308a46a37fd56af06664ad923a06d50243a56
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/constant-ranges.ll

  Log Message:
  -----------
  [ValueTracking] Add more tests for constant ranges; NFC


  Commit: 0f8b40a82ebeec65eb560d85368b1540333897f8
      https://github.com/llvm/llvm-project/commit/0f8b40a82ebeec65eb560d85368b1540333897f8
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/constant-ranges.ll

  Log Message:
  -----------
  [ValueTracking] Add better support for ConstantRange(Shl)

1) If LHS is constant:
    - The low bits of the LHS is set, the lower bound is non-zero
    - The upper bound can be capped at popcount(LHS) high bits
2) If RHS is constant:
    - The upper bound can be capped at (Width - RHS) high bits


  Commit: 50ece4cba949787241b5fbfc94be6cfdc66e90ee
      https://github.com/llvm/llvm-project/commit/50ece4cba949787241b5fbfc94be6cfdc66e90ee
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/constant-ranges.ll

  Log Message:
  -----------
  [ValueTracking] Add better support for ConstantRange(And)

The fairly common power of two pattern `X & -X` can be capped at the
highest power of 2 (signbit set).


Compare: https://github.com/llvm/llvm-project/compare/b0c769a80b5f...50ece4cba949


More information about the All-commits mailing list