[mlir] (NFC) run clang-format on all files
[mlir][complex] complex.arg op to calculate the angle of complex numberAdd complex.arg op which calculates the angle of complex number. The op name is inspired by the function carg in libm.See: h
[mlir][complex] complex.arg op to calculate the angle of complex numberAdd complex.arg op which calculates the angle of complex number. The op name is inspired by the function carg in libm.See: https://sourceware.org/newlib/libm.html#cargDifferential Revision: https://reviews.llvm.org/D128531
show more ...
[mlir] (NFC) Clean up bazel and CMake target namesAll dialect targets in bazel have been named *Dialect and all dialecttargets in CMake have been named MLIR*Dialect.
[mlir] Lower complex.power and complex.rsqrt to standard dialect.Add conversion tests and correctness tests.Reviewed By: pifon2aDifferential Revision: https://reviews.llvm.org/D127255
[mlir][complex] Add complex.conj opAdd complex.conj op to calculate the complex conjugate which is widely used for the mathematical operation on the complex space.Reviewed By: pifon2aDifferenti
[mlir][complex] Add complex.conj opAdd complex.conj op to calculate the complex conjugate which is widely used for the mathematical operation on the complex space.Reviewed By: pifon2aDifferential Revision: https://reviews.llvm.org/D127181
[mlir] Add conversion and tests for complex.[sqrt|atan2] to Arith.Differential Revision: https://reviews.llvm.org/D126799
[mlir][complex] Lowering complex.tanh to standardLowering complex.tanh to standard dialects including math, arith.Reviewed By: pifon2aDifferential Revision: https://reviews.llvm.org/D126521
[mlir][complex] Remove unused variables. NFC.
[mlir][complex] Add tan op for complex dialectAdd tangent operation for complex dialect. This is the follow-up change of https://reviews.llvm.org/D126521Differential Revision: https://reviews.llv
[mlir][complex] Add tan op for complex dialectAdd tangent operation for complex dialect. This is the follow-up change of https://reviews.llvm.org/D126521Differential Revision: https://reviews.llvm.org/D126685
Revert "[mlir] Lower complex.sqrt and complex.atan2 to Arithmetic dialect."This reverts commit f5fa633b0955a8cee878b384801038fccef11fdc.Integration test sparse_complex_ops.mlir breaks because of
Revert "[mlir] Lower complex.sqrt and complex.atan2 to Arithmetic dialect."This reverts commit f5fa633b0955a8cee878b384801038fccef11fdc.Integration test sparse_complex_ops.mlir breaks because of it.
[mlir] Lower complex.sqrt and complex.atan2 to Arithmetic dialect.I don't see a point here in the lit tests here since sqrt, mul and other opsexpand as well. I just added "smoke" tests to verify t
[mlir] Lower complex.sqrt and complex.atan2 to Arithmetic dialect.I don't see a point here in the lit tests here since sqrt, mul and other opsexpand as well. I just added "smoke" tests to verify that the conversion worksand does not create any illegal ops.I will create a patch that adds a simple integration test tomlir/test/Integration/Dialect/ComplexOps/ that will compare the values.Differential Revision: https://reviews.llvm.org/D126539
Lower complex.expm1 to standard dialect.Add a test.Reviewed By: pifon2aDifferential Revision: https://reviews.llvm.org/D126409
[mlir] Add sin & cos ops to complex dialectAlso adds conversions for those ops to math + arith.Differential Revision: https://reviews.llvm.org/D124773
[mlir] Update FuncOp conversion passes to Pass/InterfacePass<FunctionOpInterface>These passes generally don't rely on any special aspects of FuncOp, and moving allowsfor these passes to be used in
[mlir] Update FuncOp conversion passes to Pass/InterfacePass<FunctionOpInterface>These passes generally don't rely on any special aspects of FuncOp, and moving allowsfor these passes to be used in many more situations. The passes that obviously weren'trelying on invariants guaranteed by a "function" were updated to be generic pass, therest were updated to be FunctionOpinterface InterfacePasses.The test updates are NFC switching from implicit nesting (-pass -pass2) form tothe -pass-pipeline form (generic passes do not implicitly nest as op-specific passes do).Differential Revision: https://reviews.llvm.org/D121190
[mlir] Trim a huge number of unnecessary dependencies on the Func dialectThe Func has a large number of legacy dependencies carried over from the oldStandard dialect, which was pervasive and conta
[mlir] Trim a huge number of unnecessary dependencies on the Func dialectThe Func has a large number of legacy dependencies carried over from the oldStandard dialect, which was pervasive and contained a large number of variedoperations. With the split of the standard dialect and its demise, a lot of lingeringdead dependencies have survived to the Func dialect. This commit removes alarge majority of then, greatly reducing the dependence surface area of theFunc dialect.
[mlir] Rename the Standard dialect to the Func dialectThe last remaining operations in the standard dialect all revolve aroundFuncOp/function related constructs. This patch simply handles the init
[mlir] Rename the Standard dialect to the Func dialectThe last remaining operations in the standard dialect all revolve aroundFuncOp/function related constructs. This patch simply handles the initialrenaming (which by itself is already huge), but there are a large numberof cleanups unlocked/necessary afterwards:* Removing a bunch of unnecessary dependencies on Func* Cleaning up the From/ToStandard conversion passes* Preparing for the move of FuncOp to the Func dialectSee the discussion at https://discourse.llvm.org/t/standard-dialect-the-final-chapter/6061Differential Revision: https://reviews.llvm.org/D120624
[mlir] Move SelectOp from Standard to ArithmeticThis 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 ArithmeticThis 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
[mlir][Pass] Deprecate FunctionPass in favor of OperationPass<FuncOp>The only benefit of FunctionPass is that it filters out functiondeclarations. This isn't enough to justify carrying it around,
[mlir][Pass] Deprecate FunctionPass in favor of OperationPass<FuncOp>The only benefit of FunctionPass is that it filters out functiondeclarations. This isn't enough to justify carrying it around, as we cansimplify filter out declarations when necessary within the pass. We canalso explore with better scheduling primitives to filter out declarationsat the pipeline level in the future.The definition of FunctionPass is left intact for now to allow time for downstreamusers to migrate.Differential Revision: https://reviews.llvm.org/D117182
[mlir] Switching accessors to prefixed form (NFC)Makes eventual prefixing flag flip smaller change.
[MLIR] Replace std ops with arith dialect opsPrecursor: https://reviews.llvm.org/D110200Removed redundant ops from the standard dialect that were moved to the`arith` or `math` dialects.Renamed
[MLIR] Replace std ops with arith dialect opsPrecursor: https://reviews.llvm.org/D110200Removed redundant ops from the standard dialect that were moved to the`arith` or `math` dialects.Renamed all instances of operations in the codebase and in tests.Reviewed By: rriddle, jpienaarDifferential Revision: https://reviews.llvm.org/D110797
[mlir:OpConversionPattern] Add overloads for taking an Adaptor instead of ArrayRefThis has been a TODO for a long time, and it brings about many advantages (namely nice accessors, and less fragile
[mlir:OpConversionPattern] Add overloads for taking an Adaptor instead of ArrayRefThis has been a TODO for a long time, and it brings about many advantages (namely nice accessors, and less fragile code). The existing overloads that accept ArrayRef are now treated as deprecated and will be removed in a followup (after a small grace period). Most of the upstream MLIR usages have been fixed by this commit, the rest will be handled in a followup.Differential Revision: https://reviews.llvm.org/D110293
[mlir][Complex]: Add lowerings for AddOp and SubOp from Complex dialect toStandard.Differential Revision: https://reviews.llvm.org/D106429
Add Log1pOp to complex dialect.Also add a lowering pattern from Complex to Standard/Math dialect.Differential Revision: https://reviews.llvm.org/D105538
Add MulOp lowering from Complex dialect to Standard/Math dialect.The lowering handles special cases with NaN or infinity like C++.Differential Revision: https://reviews.llvm.org/D105270
[mlir] Add LogOp lowering from Complex dialect to Standard/Math dialect.Differential Revision: https://reviews.llvm.org/D105342
12