| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir][Transforms][NFC] Dialect Conversion: Resolve insertion point TODO (#95653) Remove a TODO in the dialect conversion code base when materializing unresolved conversions: // FIXME: Determine a suitable insertion location when there are multiple // inputs. The implementation used to select an insertion point as follows: - If the cast has exactly one operand: right after the definition of the SSA value. - Otherwise: right before the cast op. However, it is not necessary to change the insertion point. Unresolved materializations (UnrealizedConversionCastOp) are built during buildUnresolvedArgumentMaterialization or buildUnresolvedTargetMaterialization. In the former case, the op is inserted at the beginning of the block. In the latter case, only one operand is supported in the dialect conversion, and the op is inserted right after the definition of the SSA value. I.e., the UnrealizedConversionCastOp is already inserted at the right place and it is not necessary to change the insertion point for the resolved materialization op. Note: The IR change changes slightly because the unrealized_conversion_cast ops at the beginning of a block are no longer doubly-inverted (by setting the insertion to the beginning of the block when inserting the unrealized_conversion_cast and again when inserting the resolved conversion op). All affected test cases were fixed by using CHECK-DAG instead of CHECK. Also improve the quality of multiple test cases that did not check for the correct operands. Note: This commit is in preparation of decoupling the argument/source/target materialization logic of the type converter from the dialect conversion (to reduce its complexity and make that functionality usable from a new dialect conversion driver). | 2 年前 | |
[MLIR][SPIRV] Add spirv.IsFinite and lower math.{isfinite,isinf,isnan} to spirv. (#151552) This patch adds support for lowering several float classification ops from the Math dialect to the SPIR-V dialect. ### Highlights: - Introduced a new spirv.IsFinite operation corresponding to the SPIR-V OpIsFinite instruction. - Lowered math.isfinite, math.isinf, and math.isnan to SPIR-V using CheckedElementwiseOpPattern. - Added corresponding tests for op definition and conversion lowering. This addresses the discussion in: https://github.com/llvm/llvm-project/issues/150778 --- Let me know if any additional adjustments are needed! --------- Co-authored-by: Jakub Kuderski <kubakuderski@gmail.com> | 11 个月前 | |
[mlir][spirv] Add lowering of multiple math trig/hypb functions (#143604) Add Math to SPIRV lowering for tan, asin, acos, sinh, cosh, asinh, acosh and atanh. This completes the lowering of all trigonometric and hyperbolic functions from math to SPIRV. | 1 年前 | |
[mlir][spirv] Add lowering of multiple math trig/hypb functions (#143604) Add Math to SPIRV lowering for tan, asin, acos, sinh, cosh, asinh, acosh and atanh. This completes the lowering of all trigonometric and hyperbolic functions from math to SPIRV. | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 年前 |