| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir][LLVMIR] Add support for va_start/copy/end intrinsics This patch adds three new LLVM intrinsic operations: llvm.intr.vastart/copy/end. And its translation from LLVM IR. This effectively removes a restriction, imposed by 0126dcf1f0a1, where non-external functions in LLVM dialect cannot be variadic. At that time it was not clear how LLVM intrinsics are going to be modeled, which indirectly affects va_start/copy/end, the core intrinsics used in variadic functions. But since we have LLVM intrinsics as normal MLIR operations, it's not a problem anymore. Differential Revision: https://reviews.llvm.org/D127540 | 3 年前 | |
[IR] Enable opaque pointers by default This enabled opaque pointers by default in LLVM. The effect of this is twofold: * If IR that contains *neither* explicit ptr nor %T* types is passed to tools, we will now use opaque pointer mode, unless -opaque-pointers=0 has been explicitly passed. * Users of LLVM as a library will now default to opaque pointers. It is possible to opt-out by calling setOpaquePointers(false) on LLVMContext. A cmake option to toggle this default will not be provided. Frontends or other tools that want to (temporarily) keep using typed pointers should disable opaque pointers via LLVMContext. Differential Revision: https://reviews.llvm.org/D126689 | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Pass/Target tests The special case parsing of func operations is being removed. | 4 年前 | |
Fix some typos. Fix some typos Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D102503 | 5 年前 | |
[IR] Enable opaque pointers by default This enabled opaque pointers by default in LLVM. The effect of this is twofold: * If IR that contains *neither* explicit ptr nor %T* types is passed to tools, we will now use opaque pointer mode, unless -opaque-pointers=0 has been explicitly passed. * Users of LLVM as a library will now default to opaque pointers. It is possible to opt-out by calling setOpaquePointers(false) on LLVMContext. A cmake option to toggle this default will not be provided. Frontends or other tools that want to (temporarily) keep using typed pointers should disable opaque pointers via LLVMContext. Differential Revision: https://reviews.llvm.org/D126689 | 4 年前 | |
[mlir] Ignore index data layout in translation to LLVM It can be present, but is irrelevant for the translation. | 4 年前 | |
[MLIR] UnknownLoc on Inlinable Calls in LLVMIR Translation During MLIR translation to LLVMIR if an inlineable call has an UnkownLoc we get this error message: inlinable function call in a function with debug info must have a !dbg location call void @callee() There is code that checks for this case and strips debug information to avoid this situation. I'm expanding this code to handle the case where an debug location points at a UnknownLoc. For example, a NamedLoc whose child location is an UnknownLoc. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D121633 | 4 年前 | |
Clarify the behavior of the llvm.vector.insert/extract intrinsics when the index is out of range. Both intrinsics return a poison value. Consequently, mark the intrinsics speculatable. Differential Revision: https://reviews.llvm.org/D129656 | 3 年前 | |
[mlir][LLVM] Make the nested type restriction on complex constants less aggressive Complex nested in other types is perfectly fine, just nested structs aren't supported. Instead of checking whether there's nesting just check whether the struct we're dealing with is a complex number. Differential Revision: https://reviews.llvm.org/D125381 | 4 年前 | |
[IR] Enable opaque pointers by default This enabled opaque pointers by default in LLVM. The effect of this is twofold: * If IR that contains *neither* explicit ptr nor %T* types is passed to tools, we will now use opaque pointer mode, unless -opaque-pointers=0 has been explicitly passed. * Users of LLVM as a library will now default to opaque pointers. It is possible to opt-out by calling setOpaquePointers(false) on LLVMContext. A cmake option to toggle this default will not be provided. Frontends or other tools that want to (temporarily) keep using typed pointers should disable opaque pointers via LLVMContext. Differential Revision: https://reviews.llvm.org/D126689 | 4 年前 | |
Revert "[MLIR] Generic 'malloc', 'aligned_alloc' and 'free' functions" This reverts commit 3e21fb616d9a1b29bf9d1a1ba484add633d6d5b3. A lot of integration tests are failing on the bot. | 3 年前 | |
[mlir][nvvm] Change MMAShapeAttr to AttrDef MMAShapeAttr was a StructAttr Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D127348 | 3 年前 | |
[mlir] initial support for opaque pointers in the LLVM dialect LLVM IR has introduced and is moving forward with the concept of opaque pointers, i.e. pointer types that are not carrying around the pointee type. Instead, memory-related operations indicate the type of the data being accessed through the opaque pointer. Introduce the initial support for opaque pointers in the LLVM dialect: - LLVMPointerType to support omitting the element type; - alloca/load/store/gep to support opaque pointers in their operands and results; this requires alloca and gep to store the element type as an attribute; - memory-related intrinsics to support opaque pointers in their operands; - translation to LLVM IR for the ops above is no longer using methods deprecated in LLVM API due to the introduction of opaque pointers. Unlike LLVM IR, MLIR can afford to support both opaque and non-opaque pointers at the same time and simplify the transition. Translation to LLVM IR of MLIR that involves opaque pointers requires the LLVMContext to be configured to always use opaque pointers. Reviewed By: wsmoses Differential Revision: https://reviews.llvm.org/D123310 | 4 年前 | |
[IR] Enable opaque pointers by default This enabled opaque pointers by default in LLVM. The effect of this is twofold: * If IR that contains *neither* explicit ptr nor %T* types is passed to tools, we will now use opaque pointer mode, unless -opaque-pointers=0 has been explicitly passed. * Users of LLVM as a library will now default to opaque pointers. It is possible to opt-out by calling setOpaquePointers(false) on LLVMContext. A cmake option to toggle this default will not be provided. Frontends or other tools that want to (temporarily) keep using typed pointers should disable opaque pointers via LLVMContext. Differential Revision: https://reviews.llvm.org/D126689 | 4 年前 | |
[MLIR][OpenMP] Add support for threadprivate directive This supports the threadprivate directive in OpenMP dialect following the OpenMP 5.1 [2.21.2] standard. Also lowering to LLVM IR using OpenMP IRBduiler. Reviewed By: kiranchandramohan, shraiysh, arnamoy10 Differential Revision: https://reviews.llvm.org/D123350 | 4 年前 | |
[mlir][OpenMP] Add if clause to OpenMP simd construct This patch adds if clause to OpenMP TableGen for simd construct. Reviewed By: peixin Differential Revision: https://reviews.llvm.org/D128940 Signed-off-by: Dominik Adamski <dominik.adamski@amd.com> | 3 年前 | |
[IR] Enable opaque pointers by default This enabled opaque pointers by default in LLVM. The effect of this is twofold: * If IR that contains *neither* explicit ptr nor %T* types is passed to tools, we will now use opaque pointer mode, unless -opaque-pointers=0 has been explicitly passed. * Users of LLVM as a library will now default to opaque pointers. It is possible to opt-out by calling setOpaquePointers(false) on LLVMContext. A cmake option to toggle this default will not be provided. Frontends or other tools that want to (temporarily) keep using typed pointers should disable opaque pointers via LLVMContext. Differential Revision: https://reviews.llvm.org/D126689 | 4 年前 | |
[IR] Enable opaque pointers by default This enabled opaque pointers by default in LLVM. The effect of this is twofold: * If IR that contains *neither* explicit ptr nor %T* types is passed to tools, we will now use opaque pointer mode, unless -opaque-pointers=0 has been explicitly passed. * Users of LLVM as a library will now default to opaque pointers. It is possible to opt-out by calling setOpaquePointers(false) on LLVMContext. A cmake option to toggle this default will not be provided. Frontends or other tools that want to (temporarily) keep using typed pointers should disable opaque pointers via LLVMContext. Differential Revision: https://reviews.llvm.org/D126689 | 4 年前 | |
[MLIR][AMDGPU] Add AMDGPU dialect, wrappers around raw buffer intrinsics By analogy with the NVGPU dialect, introduce an AMDGPU dialect for AMD-specific intrinsic wrappers. The dialect initially includes wrappers around the raw buffer intrinsics. On AMD GPUs, a memref can be converted to a "buffer descriptor" that allows more precise control of memory access, such as by allowing for out of bounds loads/stores to be replaced by 0/ignored without adding additional conditional logic, which is important for performance. The repository currently contains a limited conversion from transfer_read/transfer_write to Mubuf intrinsics, which are an older, deprecated intrinsic for the same functionality. The new amdgpu.raw_buffer_* ops allow these operations to be used explicitly and for including metadata such as whether the target chipset is an RDNA chip or not (which impacts the interpretation of some bits in the buffer descriptor), while still maintaining an MLIR-like interface. (This change also exposes the floating-point atomic add intrinsic.) Reviewed By: ThomasRaoux Differential Revision: https://reviews.llvm.org/D122765 | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Pass/Target tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir] X86Vector: Add AVX Rsqrt Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D99818 | 5 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 5 年前 |