TTobias Hieta[mlir][test] Require JIT support in JIT tests
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[MLIR][Presburger] fix warning under g++ (NFC) | 3 年前 | |
[mlir] (NFC) Clean up bazel and CMake target names All dialect targets in bazel have been named *Dialect and all dialect targets in CMake have been named MLIR*Dialect. | 4 年前 | |
[mlir] Refactor the Parser library in preparation for an MLIR binary format The current Parser library is solely focused on providing API for the textual MLIR format, but MLIR will soon also provide a binary format. This commit renames the current Parser library to AsmParser to better correspond to what the library is actually intended for. A new Parser library is added which will act as a unified parser interface between both text and binary formats. Most parser clients are unaffected, given that the unified interface is essentially the same as the current interface. Only clients that rely on utilizing the AsmParserState, or those that want to parse Attributes/Types need to be updated to point to the AsmParser library. Differential Revision: https://reviews.llvm.org/D129605 | 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] Use has_value instead of hasValue (NFC) | 3 年前 | |
[mlir] Use has_value instead of hasValue (NFC) | 3 年前 | |
[mlir] Allow for attaching external resources to .mlir files This commit enables support for providing and processing external resources within MLIR assembly formats. This is a mechanism with which dialects, and external clients, may attach additional information when printing IR without that information being encoded in the IR itself. External resources are not uniqued within the MLIR context, are not attached directly to any operation, and are solely intended to live and be processed outside of the immediate IR. There are many potential uses of this functionality, for example MLIR's pass crash reproducer could utilize this to attach the pass resource executing when a crash occurs. Other types of uses may be embedding large amounts of binary data, such as weights in ML applications, that shouldn't be copied directly into the MLIR context, but need to be kept adjacent to the IR. External resources are encoded using a key-value pair nested within a dictionary anchored by name either on a dialect, or an externally registered entity. The key is an identifier used to disambiguate the data. The value may be stored in various limited forms, but general encodings use a string (human readable) or blob format (binary). Within the textual format, an example may be of the form: `` mlir {-# // The dialect_resources section within the file-level metadata // dictionary is used to contain any dialect resource entries. dialect_resources: { // Here is a dictionary anchored on "foo_dialect", which is a dialect // namespace. foo_dialect: { // some_dialect_resource is a key to be interpreted by the dialect, // and used to initialize/configure/etc. some_dialect_resource: "Some important resource value" } }, // The external_resources section within the file-level metadata // dictionary is used to contain any non-dialect resource entries. external_resources: { // Here is a dictionary anchored on "mlir_reproducer", which is an // external entity representing MLIR's crash reproducer functionality. mlir_reproducer: { // pipeline is an entry that holds a crash reproducer pipeline // resource. pipeline: "func.func(canonicalize,cse)" } } `` Differential Revision: https://reviews.llvm.org/D126446 | 3 年前 | |
[mlir] Use has_value instead of hasValue (NFC) | 3 年前 | |
Fix memory leaks in MLIR unit-tests (NFC) | 4 年前 | |
[mlir] (NFC) run clang-format on all files | 3 年前 | |
[mlir] (NFC) run clang-format on all files | 3 年前 | |
[mlir] Rework the implementation of TypeID This commit restructures how TypeID is implemented to ideally avoid the current problems related to shared libraries. This is done by changing the "implicit" fallback path to use the name of the type, instead of using a static template variable (which breaks shared libraries). The major downside to this is that it adds some additional initialization costs for the implicit path. Given the use of type names for uniqueness in the fallback, we also no longer allow types defined in anonymous namespaces to have an implicit TypeID. To simplify defining an ID for these classes, a new MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID macro was added to allow for explicitly defining a TypeID directly on an internal class. To help identify when types are using the fallback, -debug-only=typeid can be used to log which types are using implicit ids. This change generally only requires changes to the test passes, which are all defined in anonymous namespaces, and thus can't use the fallback any longer. Differential Revision: https://reviews.llvm.org/D122775 | 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 年前 |