| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
[MLIR][OpenMP] Minor improvements to BlockArgOpenMPOpInterface, NFC (#130789) This patch introduces a use for the new getBlockArgsPairs to avoid having to manually list each applicable clause. Also, the numClauseBlockArgs() function is introduced, which simplifies the implementation of the interface's verifier and enables better memory handling within getBlockArgsPairs. | 1 年前 | |
[mlir][doc] fix affine op header link (#158650) | 10 个月前 | |
[mlir][ArmSME][docs] Fix broken link (NFC) | 1 年前 | |
[mlir] Add a builtin distinct attribute A distinct attribute associates a referenced attribute with a unique identifier. Every call to its create function allocates a new distinct attribute instance. The address of the attribute instance temporarily serves as its unique identifier. Similar to the names of SSA values, the final unique identifiers are generated during pretty printing. Examples: #distinct = distinct[0]<42.0 : f32> #distinct1 = distinct[1]<42.0 : f32> #distinct2 = distinct[2]<array<i32: 10, 42>> This mechanism is meant to generate attributes with a unique identifier, which can be used to mark groups of operations that share a common properties such as if they are aliasing. The design of the distinct attribute ensures minimal memory footprint per distinct attribute since it only contains a reference to another attribute. All distinct attributes are stored outside of the storage uniquer in a thread local store that is part of the context. It uses one bump pointer allocator per thread to ensure distinct attributes can be created in-parallel. Reviewed By: rriddle, Dinistro, zero9178 Differential Revision: https://reviews.llvm.org/D153360 | 3 年前 | |
[mlir] Rename the Standard dialect to the Func dialect The last remaining operations in the standard dialect all revolve around FuncOp/function related constructs. This patch simply handles the initial renaming (which by itself is already huge), but there are a large number of 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 dialect See the discussion at https://discourse.llvm.org/t/standard-dialect-the-final-chapter/6061 Differential Revision: https://reviews.llvm.org/D120624 | 4 年前 | |
[mlir][python] Add Pythonic wrappers for gpu ops (#163883) Add builders on the Python side that match builders in the C++ side, add tests for launching GPU kernels and regions, and correct some small documentation mistakes. This reflects the API decisions already made in the func dialect's Python bindings and makes use of the GPU dialect's bindings work more similar to C++ interface. | 9 个月前 | |
[IRDL] [NFC] Add the IRDL dialect rationale document (#157858) | 10 个月前 | |
[mlir][LLVM] Delete getFixedVectorType and getScalableVectorType (#135051) The LLVM dialect no longer has its own vector types. It uses mlir::VectorType everywhere. Remove LLVM::getFixedVectorType/getScalableVectorType and use VectorType::get instead. This commit addresses a [comment](https://github.com/llvm/llvm-project/pull/133286#discussion_r2022192500) on the PR that deleted the LLVM vector types. | 1 年前 | |
[mlir][docs] Cleanup documentations [NFC] (#67945) - Fix missing links - Fix missing link format - Move transform::ApplyFuncToLLVMConversionPatternOp into Transform dialect - Remove duplicated MemRef's TOC - Remove duplicated Memref's dma_start/dma_wait docs | 2 年前 | |
[MLIR][NVVM] Doc fixes (#168716) | 8 个月前 | |
[mlir][acc] Introduce MappableType interface (#122146) OpenACC data clause operations previously required that the variable operand implemented PointerLikeType interface. This was a reasonable constraint because the dialects currently mixed with acc do use pointers to represent variables. However, this forces the "pointer" abstraction to be exposed too early and some cases are not cleanly representable through this approach (more specifically FIR's fix.box abstraction). Thus, relax this by allowing a variable to be a type which implements either PointerLikeType interface or MappableType interface. | 1 年前 | |
[mlir][spirv] Add support for SwitchOp (#168713) The dialect implementation mostly copies the one of cf.switch, but aligns naming to the SPIR-V spec. | 8 个月前 | |
[mlir][NFC] Update textual references of func to func.func in examples+python scripts The special case parsing of func operations is being removed. | 4 年前 | |
[NFC][MLIR][shard] improving shard docs (#163782) This PR seeks to improve the clarity of the Shard dialect documentation, in particular the descriptions of the communication operations. | 9 个月前 | |
[mlir][tosa] Update URLs to TOSA specification (#134449) - The existing URLs are no longer valid, updated to the current one Signed-off-by: Jerry Ge <jerry.ge@arm.com> | 1 年前 | |
[MLIR][Transform] Docs: add SMT extension section and fix Tune header (#161560) | 9 个月前 | |
[MLIR][Vector] Remove vector.splat (#162167) vector.splat has been deprecated (user: please use the very similar vector.broadcast instead) with the last PR landing about 6 weeks ago. The discourse discussion is at https://discourse.llvm.org/t/rfc-mlir-vector-deprecate-then-remove-vector-splat/87143/1 The last PR was #152230 This PR completely removes vector.splat. In addition to removing vector.splat from VectorOps.td, it - Updates the few remaining places where vector::SplatOp is created (now vector::BroadcastOp is created) - Removes temporary patterns where vector.splat is replaced by vector.broadcast The only place 'vector.splat' appears is now the files https://github.com/llvm/llvm-project/blob/main/mlir/utils/tree-sitter-mlir/test/corpus/op.txt and https://github.com/llvm/llvm-project/blob/main/mlir/utils/tree-sitter-mlir/dialect/vector.js --------- Signed-off-by: James Newling <james.newling@gmail.com> | 9 个月前 | |
[mlir][docs] Group the docs for defining dialect components This moves the documentation for defining dialects, attributes/types, and operations into a new DefiningDialects folder. This helps to keep the documentation grouped together, making it easier to find related documentation. Differential Revision: https://reviews.llvm.org/D137594 | 3 年前 | |
[mlir][EmitC]Expand the MemRefToEmitC pass - Lowering AllocOp (#148257) This aims to lower memref.alloc to emitc.call_opaque “malloc” or emitc.call_opaque “aligned_alloc” From: module{ func.func @allocating() { %alloc_5 = memref.alloc() : memref<999xi32> return } } To: module { emitc.include <"stdlib.h"> func.func @allocating() { %0 = emitc.call_opaque "sizeof"() {args = [i32]} : () -> !emitc.size_t %1 = "emitc.constant"() <{value = 999 : index}> : () -> index %2 = emitc.mul %0, %1 : (!emitc.size_t, index) -> !emitc.size_t %3 = emitc.call_opaque "malloc"(%2) : (!emitc.size_t) -> !emitc.ptr<!emitc.opaque<"void">> %4 = emitc.cast %3 : !emitc.ptr<!emitc.opaque<"void">> to !emitc.ptr<i32> return } } Which is then translated as: #include <stdlib.h> void allocating() { size_t v1 = sizeof(int32_t); size_t v2 = 999; size_t v3 = v1 * v2; void* v4 = malloc(v3); int32_t* v5 = (int32_t*) v4; return; } | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 9 个月前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 4 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 3 年前 | ||
| 1 年前 |