|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
| #
f5efe280 |
| 17-Feb-2022 |
Tres Popp <[email protected]> |
[mlir] Propagate NaNs in PolynomialApproximation
Previously, NaNs would be dropped in favor of bounded values which was strictly incorrect. Now the min/max operation propagate this information. Not
[mlir] Propagate NaNs in PolynomialApproximation
Previously, NaNs would be dropped in favor of bounded values which was strictly incorrect. Now the min/max operation propagate this information. Not all uses of min/max need this, but the given change will help protect future additions, and this prevents the need for an additional cmpf and select operation to handle NaNs.
Differential Revision: https://reviews.llvm.org/D120020
show more ...
|
| #
b122cbeb |
| 15-Feb-2022 |
Adrian Kuegel <[email protected]> |
[mlir][Math] Fix NaN handling in Exp approximation
Differential Revision: https://reviews.llvm.org/D119832
|
| #
87de451b |
| 15-Feb-2022 |
Adrian Kuegel <[email protected]> |
[mlir][Math] Fix NaN handling in ExpM1 approximation.
Differential Revision: https://reviews.llvm.org/D119822
|
|
Revision tags: llvmorg-14.0.0-rc1 |
|
| #
bbddd19e |
| 08-Feb-2022 |
Jacques Pienaar <[email protected]> |
[mlir][math] Expand coverage of atan2 expansion
Reuse the higher precision F32 approximation for the F16 one (by expanding and truncating). This is partly RFC as I'm not sure what the expectations a
[mlir][math] Expand coverage of atan2 expansion
Reuse the higher precision F32 approximation for the F16 one (by expanding and truncating). This is partly RFC as I'm not sure what the expectations are here (e.g., these are only for F32 and should not be expanded, that reusing higher-precision ones for lower precision is undesirable due to increased compute cost and only approximations per exact type is preferred, or this is appropriate [at least as fallback] but we need to see how to make it more generic across all the patterns here).
Differential Revision: https://reviews.llvm.org/D118968
show more ...
|
| #
3c69bc4d |
| 06-Feb-2022 |
River Riddle <[email protected]> |
[mlir][NFC] Remove a few op builders that simply swap parameter order
Differential Revision: https://reviews.llvm.org/D119093
|
|
Revision tags: llvmorg-15-init |
|
| #
8e123ca6 |
| 31-Jan-2022 |
River Riddle <[email protected]> |
[mlir:Standard] Remove support for creating a `unit` ConstantOp
This is completely unused upstream, and does not really have well defined semantics on what this is supposed to do/how this fits into
[mlir:Standard] Remove support for creating a `unit` ConstantOp
This is completely unused upstream, and does not really have well defined semantics on what this is supposed to do/how this fits into the ecosystem. Given that, as part of splitting up the standard dialect it's best to just remove this behavior, instead of try to awkwardly fit it somewhere upstream. Downstream users are encouraged to define their own operations that clearly can define the semantics of this.
This also uncovered several lingering uses of ConstantOp that weren't updated to use arith::ConstantOp, and worked during conversions because the constant was removed/converted into something else before verification.
See https://llvm.discourse.group/t/standard-dialect-the-final-chapter/ for more discussion.
Differential Revision: https://reviews.llvm.org/D118654
show more ...
|
| #
dec8af70 |
| 31-Jan-2022 |
River Riddle <[email protected]> |
[mlir] Move SelectOp from Standard to Arithmetic
This is part of splitting up the standard dialect. See https://llvm.discourse.group/t/standard-dialect-the-final-chapter/ for discussion.
Differenti
[mlir] Move SelectOp from Standard to Arithmetic
This is part of splitting up the standard dialect. See https://llvm.discourse.group/t/standard-dialect-the-final-chapter/ for discussion.
Differential Revision: https://reviews.llvm.org/D118648
show more ...
|
| #
99ef9eeb |
| 31-Jan-2022 |
Matthias Springer <[email protected]> |
[mlir][vector][NFC] Split into IR, Transforms and Utils
This reduces the dependencies of the MLIRVector target and makes the dialect consistent with other dialects.
Differential Revision: https://r
[mlir][vector][NFC] Split into IR, Transforms and Utils
This reduces the dependencies of the MLIRVector target and makes the dialect consistent with other dialects.
Differential Revision: https://reviews.llvm.org/D118533
show more ...
|
| #
dc3b9365 |
| 30-Jan-2022 |
Alexandre Ganea <[email protected]> |
[mlir] Silence warnings when building with MSVC
Differential Revision: https://reviews.llvm.org/D118536
|
| #
70ed93ec |
| 30-Jan-2022 |
Mehdi Amini <[email protected]> |
Apply clang-tidy fixes for readability-identifier-naming in PolynomialApproximation.cpp (NFC)
|
| #
2f9f9afa |
| 21-Jan-2022 |
Rob Suderman <[email protected]> |
[mlir] Add polynomial approximation for atan and atan2
Implement a taylor series approximation for atan and add an atan2 lowering that uses atan's appromation. This includes tests for edge cases and
[mlir] Add polynomial approximation for atan and atan2
Implement a taylor series approximation for atan and add an atan2 lowering that uses atan's appromation. This includes tests for edge cases and tests for each quadrant.
Reviewed By: NatashaKnk
Differential Revision: https://reviews.llvm.org/D115682
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
1fc096af |
| 02-Jan-2022 |
Mehdi Amini <[email protected]> |
Apply clang-tidy fixes for performance-unnecessary-value-param to MLIR (NFC)
Reviewed By: Mogball
Differential Revision: https://reviews.llvm.org/D116250
|
| #
89de9cc8 |
| 23-Dec-2021 |
Mehdi Amini <[email protected]> |
Apply clang-tidy fixes for performance-for-range-copy to MLIR (NFC)
Differential Revision: https://reviews.llvm.org/D116248
|
| #
ced8690d |
| 29-Dec-2021 |
Mehdi Amini <[email protected]> |
Apply clang-tidy fixes for bugprone-argument-comment to MLIR (NFC)
Differential Revision: https://reviews.llvm.org/D116244
|
| #
02b6fb21 |
| 20-Dec-2021 |
Mehdi Amini <[email protected]> |
Fix clang-tidy issues in mlir/ (NFC)
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D115956
|
| #
62fea88b |
| 01-Dec-2021 |
Jacques Pienaar <[email protected]> |
[mlir] Update accessors prefixed form (NFC)
|
| #
f89bb3c0 |
| 29-Nov-2021 |
Alexander Belyaev <[email protected]> |
[mlir] Move bufferization-related passes to `bufferization` dialect.
[RFC](https://llvm.discourse.group/t/rfc-dialect-for-bufferization-related-ops/4712)
Differential Revision: https://reviews.llvm
[mlir] Move bufferization-related passes to `bufferization` dialect.
[RFC](https://llvm.discourse.group/t/rfc-dialect-for-bufferization-related-ops/4712)
Differential Revision: https://reviews.llvm.org/D114698
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
ec32d540 |
| 28-Oct-2021 |
Eugene Zhulenev <[email protected]> |
[mlir] MathApproximations: scalars shape must be 0-rank
Using [1] for representing shape of a scalar is incorrect, and will break with vectors of size 1.
- remove redundant helper functions - fix c
[mlir] MathApproximations: scalars shape must be 0-rank
Using [1] for representing shape of a scalar is incorrect, and will break with vectors of size 1.
- remove redundant helper functions - fix couple of style warnings
Reviewed By: cota
Differential Revision: https://reviews.llvm.org/D112764
show more ...
|
| #
627fa0b9 |
| 28-Oct-2021 |
Eugene Zhulenev <[email protected]> |
[mlir] MathApproximations: unroll virtual vectors into hardware vectors for ISA specific operation
Reviewed By: cota
Differential Revision: https://reviews.llvm.org/D112736
|
| #
7d79a257 |
| 26-Oct-2021 |
Alexander Belyaev <[email protected]> |
[mlir] Use float literals to make Windows build happy.
|
| #
a9a0ea92 |
| 26-Oct-2021 |
Alexander Belyaev <[email protected]> |
[mlir] Update Erf approximation.
|
| #
96cee297 |
| 26-Oct-2021 |
Alexander Belyaev <[email protected]> |
[mlir] Allow polynomial approximations for N-d vectors.
Polynomial approximation can be extented to support N-d vectors. N-dimensional vectors are useful when vectorizing operations on N-dimensional
[mlir] Allow polynomial approximations for N-d vectors.
Polynomial approximation can be extented to support N-d vectors. N-dimensional vectors are useful when vectorizing operations on N-dimensional tiles. Before lowering to LLVM these vectors are usually unrolled or flattened to 1-dimensional vectors.
Differential Revision: https://reviews.llvm.org/D112566
show more ...
|
| #
f1b92218 |
| 25-Oct-2021 |
Boian Petkantchin <[email protected]> |
[MLIR][Math] Add erf to math dialect
Add math.erf lowering to libm call. Add math.erf polynomial approximation.
Reviewed By: silvas, ezhulenev
Differential Revision: https://reviews.llvm.org/D1122
[MLIR][Math] Add erf to math dialect
Add math.erf lowering to libm call. Add math.erf polynomial approximation.
Reviewed By: silvas, ezhulenev
Differential Revision: https://reviews.llvm.org/D112200
show more ...
|
| #
35553d45 |
| 23-Oct-2021 |
Emilio Cota <[email protected]> |
[mlir] Add polynomial approximation for vectorized math::Rsqrt
This patch adds a polynomial approximation that matches the approximation in Eigen.
Note that the approximation only applies to vector
[mlir] Add polynomial approximation for vectorized math::Rsqrt
This patch adds a polynomial approximation that matches the approximation in Eigen.
Note that the approximation only applies to vectorized inputs; the scalar rsqrt is left unmodified.
The approximation is protected with a flag since it emits an AVX2 intrinsic (generated via the X86Vector). This is the only reasonably clean way that I could find to generate the exact approximation that I wanted (i.e. an identical one to Eigen's).
I considered two alternatives:
1. Introduce a Rsqrt intrinsic in LLVM, which doesn't exist yet. I believe this is because there is no definition of Rsqrt that all backends could agree on, since hardware instructions that implement it have widely varying degrees of precision. This is something that the standard could mandate, but Rsqrt is not part of IEEE754, so I don't think this option is feasible.
2. Emit fdiv(1.0, sqrt) with fast math flags to allow reciprocal transformations. Although portable, this doesn't allow us to generate exactly the code we want; it is the LLVM backend, and not MLIR, who controls what code is generated based on the target CPU.
Reviewed By: ezhulenev
Differential Revision: https://reviews.llvm.org/D112192
show more ...
|
| #
21f9e4a1 |
| 20-Oct-2021 |
Ahmed Taei <[email protected]> |
Avoid infinity arithmetics when computing exp approximations
Otherwise this can result a poison value on some platforms see https://bugs.llvm.org/show_bug.cgi?id=51204
Reviewed By: ezhulenev
Diffe
Avoid infinity arithmetics when computing exp approximations
Otherwise this can result a poison value on some platforms see https://bugs.llvm.org/show_bug.cgi?id=51204
Reviewed By: ezhulenev
Differential Revision: https://reviews.llvm.org/D112115
show more ...
|