TTobias Hieta[mlir][test] Require JIT support in JIT tests
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[MLIR][Liveness] Add currentlyLiveValues, a way to get a set of values that are live as of a given operation. This change allows the user of LivenessBlockInfo to specify an op within the block and get a set of all values that are live as of that op. Semantically it relies on having a dominance-based region that has ordered operations. For DFG regions, computing liveness statically this way doesn't really make sense, it likely needs to be done at runtime. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D129447 | 3 年前 | |
[mlir][test] Require JIT support in JIT tests A number of mlir tests FAIL on Solaris/sparcv9 with Target has no JIT support. This patch fixes that by mimicing clang/test/lit.cfg.py which implements a host-supports-jit keyword for this. The gtest-based unit tests don't support REQUIRES:, so lack of support needs to be hardcoded there. Tested on amd64-pc-solaris2.11 (check-mlir results unchanged) and sparcv9-sun-solaris2.11 (only one unrelated failure left). Differential Revision: https://reviews.llvm.org/D131151 (cherry picked from commit ca98e0dd6cf59907f07201c4282dcafeeea11a91) | 3 年前 | |
[MLIR] Generic 'malloc', 'aligned_alloc' and 'free' functions When converted to the LLVM dialect, the memref.alloc and memref.free operations were generating calls to hardcoded 'malloc' and 'free' functions. This didn't leave any freedom to users to provide their custom implementation. Those operations now convert into calls to '_mlir_alloc' and '_mlir_free' functions, which have also been implemented into the runtime support library as wrappers to 'malloc' and 'free'. The same has been done for the 'aligned_alloc' function. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D128791 | 3 年前 | |
[mlir][transform] Add ForeachOp to transform dialect This op "unbatches" an op handle and executes the loop body for each payload op. Differential Revision: https://reviews.llvm.org/D130257 | 3 年前 | |
[mlir] Tunnel LLVM_USE_LINKER through to the standalone example build. When building in debug mode, the link time of the standalone sample is excessive, taking upwards of a minute if using BFD. This at least allows lld to be used if the main invocation was configured that way. On my machine, this gets a standalone test that requires a relink to run in ~13s for Debug mode. This is still a lot, but better than it was. I think we may want to do something about this test: it adds a lot of latency to a normal compile/test cycle and requires a bunch of arg fiddling to exclude. I think we may end up wanting a check-mlir-heavy target that can be used just prior to submit, and then make check-mlir just run unit/lite tests. More just thoughts for the future (none of that is done here). Reviewed By: bondhugula, mehdi_amini Differential Revision: https://reviews.llvm.org/D126585 | 3 年前 | |
[mlir][Parser] Fix memory leak when failing to parse a forward declared block This commit fixes a failure edge case where we accidentally drop forward declared blocks in the error case. This allows for running the invalid.mlir test in asan mode now. Fixes #51387 Differential Revision: https://reviews.llvm.org/D130132 | 3 年前 | |
[mlir][sparse] Use the correct ABI on x86 and re-enable tests c7ec6e19d5446a448f888b33f66316cf2ec6ecae made LLVM adhere to the x86 psABI and pass bf16 in SSE registers instead of GPRs. This breaks the custom versions of runtime functions we have for bf16 conversion. A great fix for this would be to use __bf16 types instead which carry the right ABI, but that type isn't widely available. Instead just pretend it's a 32 bit float on the ABI boundary and carefully cast it to the right type. Fixes #57042 (cherry picked from commit f695554a2a5550ae40da35af9ac22bfcca5db09a) | 3 年前 | |
[MLIR][SCF] Enable better bufferization for TileConsumerAndFuseProducersUsingSCFForOp Replace iterators of the outermost loop with region arguments of the innermost one. The changes avoid later bufferization passes to insert allocation within the body of the innermost loop. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D130083 | 3 年前 | |
[mlir] Fixed ordering of pass statistics. The change makes sure the plain C string statistics names are properly ordered. Differential Revision: https://reviews.llvm.org/D130122 | 3 年前 | |
[mlir:PDLInterp] Refactor the implementation of result type inferrence The current implementation uses a discrete "pdl_interp.inferred_types" operation, which acts as a "fake" handle to a type range. This op is used as a signal to pdl_interp.create_operation that types should be inferred. This is terribly awkward and clunky though: * This op doesn't have a byte code representation, and its conversion to bytecode kind of assumes that it is only used in a certain way. The current lowering is also broken and seemingly untested. * Given that this is a different operation, it gives off the assumption that it can be used multiple times, or that after the first use the value contains the inferred types. This isn't the case though, the resultant type range can never actually be used as a type range. This commit refactors the representation by removing the discrete InferredTypesOp, and instead adds a UnitAttr to pdl_interp.CreateOperation that signals when the created operations should infer their types. This leads to a much much cleaner abstraction, a more optimal bytecode lowering, and also allows for better error handling and diagnostics when a created operation doesn't actually support type inferrence. Differential Revision: https://reviews.llvm.org/D124587 | 4 年前 | |
[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: antiagainst Differential Revision: https://reviews.llvm.org/D130280 | 3 年前 | |
[mlir] SCCP add missing pessimistic setting When this was updated in D127139 the update in-place case was no longer marked as pessimistic. Add back in. Differential Revision: https://reviews.llvm.org/D130453 | 3 年前 | |
[lit] Fix setup of sanitizer environment Not all options were propageted into tests. Reviewed By: ychen Differential Revision: https://reviews.llvm.org/D122869 | 4 年前 | |
[mlir] Refactor SubElementInterface replace support The current support was essentially the amount necessary to support replacing SymbolRefAttrs, but suffers from various deficiencies (both ergonomic and functional): * Replace crashes if unsupported This makes it really hard to use safely, given that you don't know if you are going to crash or not when using it. * Types aren't supported This seems like a simple missed addition when the attribute replacement support was originally added. * The ergonomics are weird It currently uses an index based replacement, which makes the implementations quite clunky. This commit refactors support to be a bit more ergonomic, and also adds support for types in the process. This was also a great oppurtunity to greatly simplify how replacement is done in the symbol table. Fixes #56355 Differential Revision: https://reviews.llvm.org/D130589 | 3 年前 | |
[mlir][test] Require JIT support in JIT tests A number of mlir tests FAIL on Solaris/sparcv9 with Target has no JIT support. This patch fixes that by mimicing clang/test/lit.cfg.py which implements a host-supports-jit keyword for this. The gtest-based unit tests don't support REQUIRES:, so lack of support needs to be hardcoded there. Tested on amd64-pc-solaris2.11 (check-mlir results unchanged) and sparcv9-sun-solaris2.11 (only one unrelated failure left). Differential Revision: https://reviews.llvm.org/D131151 (cherry picked from commit ca98e0dd6cf59907f07201c4282dcafeeea11a91) | 3 年前 | |
[mlir] Flip LinAlg dialect to _Both This one required more changes than ideal due to overlapping generated name with different return types. Changed getIndexingMaps to getIndexingMapsArray to move it out of the way/highlight that it returns (more expensively) a SmallVector and uses the prefixed name for the Attribute. Differential Revision: https://reviews.llvm.org/D129919 | 3 年前 | |
[mlir:LSP] Add a quickfix code action for inserting expected-* diagnostic checks This allows for automatically inserting expected checks for parser and verifier diagnostics, which simplifies the workflow when building new dialect constructs or extending existing ones. Differential Revision: https://reviews.llvm.org/D130152 | 3 年前 | |
[Coroutines] Convert coroutine.presplit to enum attr This is required by @nikic in https://reviews.llvm.org/D127383 to decrease the cost to check whether a function is a coroutine and this fixes a FIXME too. Reviewed By: rjmccall, ezhulenev Differential Revision: https://reviews.llvm.org/D127471 | 3 年前 | |
[mlir:PDLL] Add support for inlay hints These allow for displaying additional inline information, such as the types of variables, names operands/results, constraint/rewrite arguments, etc. This requires a bump in the vscode extension to a newer version, as inlay hints are a new LSP feature. Differential Revision: https://reviews.llvm.org/D126033 | 3 年前 | |
[mlir][ods] Make Type- and AttrInterfaces also Types and Attrs By making TypeInterfaces and AttrInterfaces, Types and Attrs respectively it'd then be possible to use them anywhere where a Type or Attr may go. That is within the arguments and results of an Op definition, in a RewritePattern etc. Prior to this change users had to separately define a Type or Attr, with a predicate to check whether a type or attribute implements a given interface. Such code will be redundant now. Removing such occurrences in upstream dialects will be part of a separate patch. As part of implementing this patch, slight refactoring had to be done. In particular, Interfaces cppClassName field was renamed to cppInterfaceName as it "clashed" with TypeConstraints cppClassName. In particular Interfaces cppClassName expected just the class name, without any namespaces, while TypeConstraints cppClassName expected a fully qualified class name. Differential Revision: https://reviews.llvm.org/D129209 | 3 年前 | |
[MLIR] prefer /bin/sh over /bin/bash for simple test scripts These scripts do not appear to require bash, and while /bin/sh is not guaranteed either it's more commonly available. Fixes tests on NixOS and in certain sandbox build environments. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D124205 | 4 年前 | |
[mlir][spirv] Replace StructAttrs with AttrDefs Depends on D127370 Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D127373 | 3 年前 | |
[mlir] Explicitly mark dialect prefixing Missed previously and needed to flip the default. Most of these just flipped to _Raw to retain existing state/keep this small except for TOSA dialect which got flipped to _Both as no further change was needed.. | 3 年前 | |
[mlir][NFC] Update textual references of func to func.func in tool/runner tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][vulkan] Add missing '<>' in test IRs to fix test | 3 年前 | |
[mlir][test] Require JIT support in JIT tests A number of mlir tests FAIL on Solaris/sparcv9 with Target has no JIT support. This patch fixes that by mimicing clang/test/lit.cfg.py which implements a host-supports-jit keyword for this. The gtest-based unit tests don't support REQUIRES:, so lack of support needs to be hardcoded there. Tested on amd64-pc-solaris2.11 (check-mlir results unchanged) and sparcv9-sun-solaris2.11 (only one unrelated failure left). Differential Revision: https://reviews.llvm.org/D131151 (cherry picked from commit ca98e0dd6cf59907f07201c4282dcafeeea11a91) | 3 年前 | |
[mlir:LSP] Switch document sync mode to Incremental This is much more efficient over the full mode, as it only requires sending smalls chunks of files. It also works around a weird command ordering issue (full document updates are being sent after other commands like code completion) in newer versions of vscode. Differential Revision: https://reviews.llvm.org/D126032 | 3 年前 | |
Adjust "end namespace" comment in MLIR to match new agree'd coding style See D115115 and this mailing list discussion: https://lists.llvm.org/pipermail/llvm-dev/2021-December/154199.html Differential Revision: https://reviews.llvm.org/D115309 | 4 年前 | |
[MLIR] Fix checks for native arch Using if (TARGET ${LLVM_NATIVE_ARCH}) only works if MLIR is built together with LLVM, but not for standalone builds of MLIR. The correct way to check this is if (${LLVM_NATIVE_ARCH} IN_LIST LLVM_TARGETS_TO_BUILD), as the LLVM build system exports LLVM_TARGETS_TO_BUILD. To avoid repeating the same check many times, add a MLIR_ENABLE_EXECUTION_ENGINE variable. Differential Revision: https://reviews.llvm.org/D131071 (cherry picked from commit 57a9bccec7dea036dbfa1a78f1ec5e73ecf7a33c) | 3 年前 | |
[mlir][test] Require JIT support in JIT tests A number of mlir tests FAIL on Solaris/sparcv9 with Target has no JIT support. This patch fixes that by mimicing clang/test/lit.cfg.py which implements a host-supports-jit keyword for this. The gtest-based unit tests don't support REQUIRES:, so lack of support needs to be hardcoded there. Tested on amd64-pc-solaris2.11 (check-mlir results unchanged) and sparcv9-sun-solaris2.11 (only one unrelated failure left). Differential Revision: https://reviews.llvm.org/D131151 (cherry picked from commit ca98e0dd6cf59907f07201c4282dcafeeea11a91) | 3 年前 | |
[mlir] Tunnel LLVM_USE_LINKER through to the standalone example build. When building in debug mode, the link time of the standalone sample is excessive, taking upwards of a minute if using BFD. This at least allows lld to be used if the main invocation was configured that way. On my machine, this gets a standalone test that requires a relink to run in ~13s for Debug mode. This is still a lot, but better than it was. I think we may want to do something about this test: it adds a lot of latency to a normal compile/test cycle and requires a bunch of arg fiddling to exclude. I think we may end up wanting a check-mlir-heavy target that can be used just prior to submit, and then make check-mlir just run unit/lite tests. More just thoughts for the future (none of that is done here). Reviewed By: bondhugula, mehdi_amini Differential Revision: https://reviews.llvm.org/D126585 | 3 年前 |