[mlir][Math] Support fold PowFOp with constant dense.
authorjacquesguan <Jianjian.Guan@streamcomputing.com>
Tue, 5 Jul 2022 07:54:32 +0000 (15:54 +0800)
committerjacquesguan <Jianjian.Guan@streamcomputing.com>
Thu, 7 Jul 2022 02:13:08 +0000 (10:13 +0800)
commit362240e09e9e203b65d14b0b620803e7caa26536
tree861da3bf223bc29ba530fdbb7c10ee991177c190
parent7c23138f1b9a89c943d46ec74042a95a5e56ed7d
[mlir][Math] Support fold PowFOp with constant dense.

This patch adds a conditional binary constant folder which allow to exit when the constants not meet the fold condition. And use it for PowFOp to make it able to fold the constant dense.

Differential Revision: https://reviews.llvm.org/D129108
mlir/include/mlir/Dialect/CommonFolders.h
mlir/lib/Dialect/Math/IR/MathOps.cpp
mlir/test/Dialect/Math/canonicalize.mlir