[all-commits] [llvm/llvm-project] 892c73: [Support] improve known bits analysis for leading ...

RotateRight via All-commits all-commits at lists.llvm.org
Mon Dec 20 06:12:35 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 892c731681df962064828334531f59d29eb8473a
      https://github.com/llvm/llvm-project/commit/892c731681df962064828334531f59d29eb8473a
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-12-20 (Mon, 20 Dec 2021)

  Changed paths:
    M llvm/lib/Support/KnownBits.cpp
    M llvm/test/CodeGen/X86/mul128.ll
    M llvm/test/Transforms/InstCombine/icmp-mul.ll
    M llvm/test/Transforms/InstCombine/narrow-switch.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll

  Log Message:
  -----------
  [Support] improve known bits analysis for leading zeros of multiply

Instead of summing leading zeros on the input operands, multiply the
max possible values of those inputs and count the leading zeros of
the result. This can give us an extra zero bit (typically in cases
where one of the operands is a known constant).

This allows folding away the remaining 'add' ops in the motivating
bug (modeled in the PhaseOrdering IR test):
https://github.com/llvm/llvm-project/issues/48399

Fixes #48399

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




More information about the All-commits mailing list