[all-commits] [llvm/llvm-project] 40fcc4: [InstCombine] fold mul of zext bools to 'and'

RotateRight via All-commits all-commits at lists.llvm.org
Fri Jul 3 10:30:27 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 40fcc42498d8877d2d2a8548f3ac5c052b2723c2
      https://github.com/llvm/llvm-project/commit/40fcc42498d8877d2d2a8548f3ac5c052b2723c2
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2020-07-03 (Fri, 03 Jul 2020)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/mul.ll

  Log Message:
  -----------
  [InstCombine] fold mul of zext bools to 'and'

The base case only works because we are relying on a
poison-unsafe select transform; if that is fixed, we
would regress on patterns like this.

The extra use tests show that the select transform can't
be applied consistently. So it may be a regression to have
an extra instruction on 1 test, but that result was not
created safely and does not happen reliably.




More information about the All-commits mailing list