[all-commits] [llvm/llvm-project] a38998: [MLIR][WASM] Introduce the RaiseWasmMLIRPass to co...

Ferdinand Lemaire via All-commits all-commits at lists.llvm.org
Sat Jun 20 00:03:50 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a38998941b2f57ffce38d6161a48d59d7d481964
      https://github.com/llvm/llvm-project/commit/a38998941b2f57ffce38d6161a48d59d7d481964
  Author: Ferdinand Lemaire <flscminecraft at gmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    A mlir/include/mlir/Conversion/RaiseWasm/RaiseWasmMLIR.h
    M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/RaiseWasm/CMakeLists.txt
    A mlir/lib/Conversion/RaiseWasm/RaiseWasmMLIR.cpp
    M mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
    A mlir/test/Conversion/RaiseWasm/wasm-abs-to-math-abs.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-add-to-arith-add.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-and-to-arith-and.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-ceil-to-math-ceil.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-clz-to-math-clz.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-const-to-arith-const.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-convert-to-arith-tofp.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-copysign-to-math-copysign.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-ctz-to-math-ctz.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-demote-to-arith-trunc.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-div-to-arith-div.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-floor-to-math-floor.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-func-to-func.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-global-to-memref-global.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-local-to-memref.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-max-to-arith-maximumf.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-min-to-arith-minimumf.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-mul-to-arith-mul.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-neg-to-arith-neg.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-or-to-arith-or.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-popcnt-to-math-ctpop.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-promote-to-arith-ext.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-reinterpret-to-arith-bitcast.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-rem-to-arith-rem.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-shl-to-arith-shl.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-shr_s-to-arith-shrs.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-shr_u-to-arith-shru.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-sqrt-to-math-sqrt.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-sub-to-arith-sub.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-trunc-to-math-trunc.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-wrap-to-arith-trunc.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-xor-to-arith-xor.mlir

  Log Message:
  -----------
  [MLIR][WASM] Introduce the RaiseWasmMLIRPass to convert WasmSSA MLIR to core dialects (#164562)

This is following https://github.com/llvm/llvm-project/pull/154674 and
still related to
https://discourse.llvm.org/t/rfc-mlir-dialect-for-webassembly/86758.

This PR introduces the RaiseWasmMLIRPass. This pass lowers WasmSSA MLIR
to other dialects of the LLVM ecosystem (namely: arith, math, cf and
memref).
This is the first PR of a series of 2 or 3 to introduce the lowering, as
an introduction it brings support for function calls, local and global
variables and handling of arithmetic operations. As explained in the
RFC, most WasmSSA operations have been made to stay close to other
dialects' semantics so that conversion is trivialized.

---------

Signed-off-by: Ferdinand Lemaire <flemairen6 at gmail.com>
Co-authored-by: Ferdinand Lemaire <ferdinand.lemaire at woven-planet.global>
Co-authored-by: Ferdinand Lemaire <flemairen6 at gmail.com>



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