[all-commits] [llvm/llvm-project] fa8eb2: [mlir][arith] Add wide integer emulation pass
Jakub Kuderski via All-commits
all-commits at lists.llvm.org
Thu Sep 8 10:53:24 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: fa8eb2708814a406261588fafe922047095b0db0
https://github.com/llvm/llvm-project/commit/fa8eb2708814a406261588fafe922047095b0db0
Author: Jakub Kuderski <kubak at google.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M mlir/include/mlir/Dialect/Arithmetic/Transforms/Passes.h
M mlir/include/mlir/Dialect/Arithmetic/Transforms/Passes.td
A mlir/include/mlir/Dialect/Arithmetic/Transforms/WideIntEmulationConverter.h
M mlir/lib/Dialect/Arithmetic/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Arithmetic/Transforms/EmulateWideInt.cpp
A mlir/test/Dialect/Arithmetic/emulate-wide-int.mlir
Log Message:
-----------
[mlir][arith] Add wide integer emulation pass
In this first patch in a series to add wide integer emulation:
* Set up the initial pass structure
* Add a custom type converter
* Handle func ops
The initial implementation supports power-of-two integers types only. We
emulate wide integer operations by splitting original i2N integer types
into two iN halves
My immediate use case is to emulate i64 operations using i32 ones
on mobile GPUs that do not support i64.
Reviewed By: antiagainst, Mogball
Differential Revision: https://reviews.llvm.org/D133135
More information about the All-commits
mailing list