[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][Math] Re-order conversions alphabetically (NFC)Minor follow-up after: D127286 (https://reviews.llvm.org/D127286/new/)Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D1
[MLIR][Math] Re-order conversions alphabetically (NFC)Minor follow-up after: D127286 (https://reviews.llvm.org/D127286/new/)Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D127382
show more ...
[MLIR][Math] Add round operationIntroduce RoundOp in the math dialect. The operation rounds the operand to thenearest integer value in floating-point format. RoundOp lowers to LLVMintrinsics 'llv
[MLIR][Math] Add round operationIntroduce RoundOp in the math dialect. The operation rounds the operand to thenearest integer value in floating-point format. RoundOp lowers to LLVMintrinsics 'llvm.intr.round' or as a function call to libm (round or roundf).Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D127286
[mlir][tosa] Use math.ctlz intrinsic for tosa.clzWe were custom counting per bit for the clz instruction. Math dialectnow has an intrinsic to do this in one instruction. Migrated to thisinstructi
[mlir][tosa] Use math.ctlz intrinsic for tosa.clzWe were custom counting per bit for the clz instruction. Math dialectnow has an intrinsic to do this in one instruction. Migrated to thisinstruction and fixed a minor bug math-to-llvm for the intrinsic.Reviewed By: mravishankarDifferential Revision: https://reviews.llvm.org/D125592
[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] Added ctlz and cttz to math dialect and LLVM dialectCount leading/trailing zeros are an existing LLVM intrinsic. Added LLVMsupport for the intrinsics with lowerings from the math dialect to
[mlir] Added ctlz and cttz to math dialect and LLVM dialectCount leading/trailing zeros are an existing LLVM intrinsic. Added LLVMsupport for the intrinsics with lowerings from the math dialect to LLVMdialect.Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D115206
[mlir] Add CtPop to MathOps with lowering to LLVMmath.ctpop maths to the llvm.ctpop intrinsic.Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D114998
[mlir] Update accessors prefixed form (NFC)
[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:OpConversion] Remove the remaing usages of the deprecated matchAndRewrite methodsThis commits updates the remaining usages of the ArrayRef<Value> basedmatchAndRewrite/rewrite methods in favo
[mlir:OpConversion] Remove the remaing usages of the deprecated matchAndRewrite methodsThis commits updates the remaining usages of the ArrayRef<Value> basedmatchAndRewrite/rewrite methods in favor of the new OpAdaptoroverload.Differential Revision: https://reviews.llvm.org/D110360
[mlir] replace llvm.mlir.cast with unrealized_conversion_castThe dialect-specific cast between builtin (ex-standard) types and LLVMdialect types was introduced long time before built-in support fo
[mlir] replace llvm.mlir.cast with unrealized_conversion_castThe dialect-specific cast between builtin (ex-standard) types and LLVMdialect types was introduced long time before built-in support forunrealized_conversion_cast. It has a similar purpose, but is restrictedto compatible builtin and LLVM dialect types, which may hamperprogressive lowering and composition with types from other dialects.Replace llvm.mlir.cast with unrealized_conversion_cast, and drop theoperation that became unnecessary.Also make unrealized_conversion_cast legal by default inLLVMConversionTarget as the majority of convesions using it are partialconversions that actually want the casts to persist in the IR. Thestandard-to-llvm conversion, which is still expected to run last, cleansup the remaining casts standard-to-llvm conversion, which is stillexpected to run last, cleans up the remaining castsReviewed By: nicolasvasilacheDifferential Revision: https://reviews.llvm.org/D105880
[mlir] factor math-to-llvm out of standard-to-llvmAfter the Math has been split out of the Standard dialect, theconversion to the LLVM dialect remained as a huge monolithic pass.This is undesirab
[mlir] factor math-to-llvm out of standard-to-llvmAfter the Math has been split out of the Standard dialect, theconversion to the LLVM dialect remained as a huge monolithic pass.This is undesirable for the same complexity management reasons as havinga huge Standard dialect itself, and is even more confusing given theexistence of a separate dialect. Extract the conversion of the Mathdialect operations to LLVM into a separate library and a separateconversion pass.Reviewed By: silvasDifferential Revision: https://reviews.llvm.org/D105702