[all-commits] [llvm/llvm-project] 914551: [mlir][arith] fix canonicalization of mulsi_extend...

Semyon Khechnev via All-commits all-commits at lists.llvm.org
Fri Apr 26 22:29:34 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9145514fde484916971e6bb147c18f9235a9f2b5
      https://github.com/llvm/llvm-project/commit/9145514fde484916971e6bb147c18f9235a9f2b5
  Author: Semyon Khechnev <91785625+s-khechnev at users.noreply.github.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] fix canonicalization of mulsi_extended for i1 (#90150)

There is the `MulSIExtendedRHSOne` canonicalization for
arith.mulsi_extended that is defined as follows: `mulsi_extended(x, 1)
-> [x, extsi(cmpi slt, x, 0)]`. In the implementation of this, there is
a `IsScalarOrSplatOne` constraint for the second argument. However, this
constraint does not correctly handle situation when multiplying i1
values. Therefore, an additional constraint has been added which checks
the second argument for strict positivity.

fix #88732



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list