[all-commits] [llvm/llvm-project] d84d41: [mlir][tosa] Constant folding for reciprocal
Tina Jung via All-commits
all-commits at lists.llvm.org
Wed Jul 5 02:39:17 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d84d418e2adc421c98e484ab3b09e2f4f3e5c1ef
https://github.com/llvm/llvm-project/commit/d84d418e2adc421c98e484ab3b09e2f4f3e5c1ef
Author: Tina Jung <tina.maria.jung at xilinx.com>
Date: 2023-07-05 (Wed, 05 Jul 2023)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Tosa/Transforms/TosaFoldConstantTranspose.cpp
A mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
A mlir/test/Dialect/Tosa/constant-reciprocal-fold.mlir
Log Message:
-----------
[mlir][tosa] Constant folding for reciprocal
Add constant fold for tosa.reciprocal, which can be applied if the input is a dense constant tensor. The reciprocal is computed for every element and the result is a tensor with the same dimensions as the input tensor.
As the input tensor might require a lot of memory and the folding might double the required memory, a heuristic decides when to actually apply the folding. Currently, the operation will be replaced only if the input constant is a splat (i.e. requires little memory) or has in single user (similar to the already existing fold for constant transposes). This keeps the additionally required space low.
Differential Revision: https://reviews.llvm.org/D150578
More information about the All-commits
mailing list