[all-commits] [llvm/llvm-project] d65ddc: [ValueTracking] ComputeKnownBits - minimum leading...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Wed Feb 24 04:16:11 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d65ddca83ff85c7345fe9a0f5a15750f01e38420
      https://github.com/llvm/llvm-project/commit/d65ddca83ff85c7345fe9a0f5a15750f01e38420
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-02-24 (Wed, 24 Feb 2021)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/test/Transforms/InstSimplify/icmp-constant.ll

  Log Message:
  -----------
  [ValueTracking] ComputeKnownBits - minimum leading/trailing zero bits in LSHR/SHL (PR44526)

Followup to D72573 - as detailed in https://blog.regehr.org/archives/1709 we don't make use of the known leading/trailing zeros for shifted values in cases where we don't know the shift amount value.

Stop ValueTracking returning zero for poison shift patterns and use the KnownBits shift helpers directly.

Extend KnownBits::shl to combine all possible shifted combinations if both min/max shift amount values are in range.

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




More information about the All-commits mailing list