[mlir][spirv] Rename spv.GLSL ops to spv.GL. NFC.This is to improve consistency within the SPIR-V dialect and make these ops a bit shorter.Reviewed By: antiagainstDifferential Revision: https:/
[mlir][spirv] Rename spv.GLSL ops to spv.GL. NFC.This is to improve consistency within the SPIR-V dialect and make these ops a bit shorter.Reviewed By: antiagainstDifferential Revision: https://reviews.llvm.org/D130280
show more ...
[mlir][spirv] Rename spv.ocl to spv.cl. NFC.This is to improve the consistency within the SPIR-V dialect and to make op names a bit shorter.Reviewed By: antiagainstDifferential Revision: https:
[mlir][spirv] Rename spv.ocl to spv.cl. NFC.This is to improve the consistency within the SPIR-V dialect and to make op names a bit shorter.Reviewed By: antiagainstDifferential Revision: https://reviews.llvm.org/D130194
[mlir][spirv] Add path for math.round to spirv for OCL and GLSLOpenCL's round function matches `math.round` so we can directly lower tothe op, this includes adding the op definition to the SPIRV O
[mlir][spirv] Add path for math.round to spirv for OCL and GLSLOpenCL's round function matches `math.round` so we can directly lower tothe op, this includes adding the op definition to the SPIRV OCL ops.GLSL does not guarantee rounding direction so we include custom roundingcode to guarantee correct rounding direction.Reviewed By: antiagainstDifferential Revision: https://reviews.llvm.org/D129236
[mlir][spirv] Workaround driver bug in math.ctlz conversion againThe previous approach does not work as the Adreno driver isclever at optimizing away the selection. So now check twoinputs togethe
[mlir][spirv] Workaround driver bug in math.ctlz conversion againThe previous approach does not work as the Adreno driver isclever at optimizing away the selection. So now check twoinputs together.Reviewed By: ThomasRaouxDifferential Revision: https://reviews.llvm.org/D127930
[mlir][spirv] Handle corner cases for math.powf conversionPer GLSL Pow extended instruction spec: "Result is undefined ifx < 0. Result is undefined if x = 0 and y <= 0." So we need tohandle negat
[mlir][spirv] Handle corner cases for math.powf conversionPer GLSL Pow extended instruction spec: "Result is undefined ifx < 0. Result is undefined if x = 0 and y <= 0." So we need tohandle negative `x` values specifically.Reviewed By: ThomasRaouxDifferential Revision: https://reviews.llvm.org/D127816
[mlir][spirv] Fix math.ctlz for full zero bit casesIf the integer has all zero bits, GLSL FindUMsb would return -1.So theoretically (31 - FindUMsb) should still give use the correctresult. Howev
[mlir][spirv] Fix math.ctlz for full zero bit casesIf the integer has all zero bits, GLSL FindUMsb would return -1.So theoretically (31 - FindUMsb) should still give use the correctresult. However, Adreno GPUshave issues with this:https://buildkite.com/iree/iree-test-android/builds/6482#01815f05-3926-466f-822a-1e20299e5461This looks like a driver bug. So handle the corner case explicityto workaround it.Reviewed By: mravishankarDifferential Revision: https://reviews.llvm.org/D127747
[mlir][spirv] Convert math.ctlz to spv.GLSL.FindUMsbReviewed By: ThomasRaouxDifferential Revision: https://reviews.llvm.org/D127582
[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] Fix Visual Studio warningsThere are only a couple of warnings when compiling with VS on Windows. This fixes the last remaining warnings so that we can enable LLVM_ENABLE_WERROR on the mlir w
[mlir] Fix Visual Studio warningsThere are only a couple of warnings when compiling with VS on Windows. This fixes the last remaining warnings so that we can enable LLVM_ENABLE_WERROR on the mlir windows bot.Reviewed By: rriddleDifferential Revision: https://reviews.llvm.org/D124862
[mlir][spirv] Add pattern to lower math.copysignThis follows the logic:https://git.musl-libc.org/cgit/musl/tree/src/math/copysignf.cReviewed By: ThomasRaouxDifferential Revision: https://revie
[mlir][spirv] Add pattern to lower math.copysignThis follows the logic:https://git.musl-libc.org/cgit/musl/tree/src/math/copysignf.cReviewed By: ThomasRaouxDifferential Revision: https://reviews.llvm.org/D122910
[mlir][spirv] Add OpenCL fma op and loweringAlso, it seems Khronos has changed html spec format so small adjustment to script was needed.Base op parsing is also probably broken.Differential Revi
[mlir][spirv] Add OpenCL fma op and loweringAlso, it seems Khronos has changed html spec format so small adjustment to script was needed.Base op parsing is also probably broken.Differential Revision: https://reviews.llvm.org/D119678
[mlir] Add support for ExpM1 to GLSL/OpenCL SPIRV BackendsAdding a similar decomposition for exponential minus one to the SPIRVbackends along with the necessary tests.Reviewed By: antiagainstD
[mlir] Add support for ExpM1 to GLSL/OpenCL SPIRV BackendsAdding a similar decomposition for exponential minus one to the SPIRVbackends along with the necessary tests.Reviewed By: antiagainstDifferential Revision: https://reviews.llvm.org/D118081
[mlir][spirv] Add math.fma lowering to spirvDifferential Revision: https://reviews.llvm.org/D117704
[mlir][spirv] math.erf OpenCL loweringDifferential Revision: https://reviews.llvm.org/D115335
[mlir] Update accessors prefixed form (NFC)
[mlir][spirv] Add math to OpenCL conversionDifferential Revision: https://reviews.llvm.org/D113780
[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] NFC: split Math to SPIR-V conversion into their own filesReviewed By: hanchungDifferential Revision: https://reviews.llvm.org/D107093