[all-commits] [llvm/llvm-project] 14028e: [mlir][spirv] Add canon patterns for IAddCarry/[S|...

Finn Plummer via All-commits all-commits at lists.llvm.org
Wed Nov 29 11:32:47 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 14028ec0a62210d68a4dd7a046ac79c8c3b7727e
      https://github.com/llvm/llvm-project/commit/14028ec0a62210d68a4dd7a046ac79c8c3b7727e
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][spirv] Add canon patterns for IAddCarry/[S|U]MulExtended (#73340)

Add missing constant propogation folder for IAddCarry and
[S|U]MulExtended. Due to currently missing constant value for
spirv.struct the folding is done using canonicalization patterns.

Implement additional folding when rhs is 0 for all ops and when rhs is 1
for UMulExt.

This helps for readability of lowered code into SPIR-V.

Part of work for #70704




More information about the All-commits mailing list