[all-commits] [llvm/llvm-project] 0c40af: [mlir] First-party modeling of LLVM types
ftynse via All-commits
all-commits at lists.llvm.org
Mon Aug 3 06:45:50 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 0c40af6b594f6eb2dcd43cdb2bc2f4584ec8ca15
https://github.com/llvm/llvm-project/commit/0c40af6b594f6eb2dcd43cdb2bc2f4584ec8ca15
Author: Alex Zinenko <zinenko at google.com>
Date: 2020-08-03 (Mon, 03 Aug 2020)
Changed paths:
A mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/include/mlir/IR/DialectImplementation.h
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
A mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
A mlir/lib/Dialect/LLVMIR/IR/TypeDetail.h
M mlir/lib/Parser/DialectSymbolParser.cpp
A mlir/test/Dialect/LLVMIR/types-invalid.mlir
A mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/lib/Dialect/CMakeLists.txt
A mlir/test/lib/Dialect/LLVMIR/CMakeLists.txt
A mlir/test/lib/Dialect/LLVMIR/LLVMTypeTestDialect.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir] First-party modeling of LLVM types
The current modeling of LLVM IR types in MLIR is based on the LLVMType class
that wraps a raw `llvm::Type *` and delegates uniquing, printing and parsing to
LLVM itself. This model makes thread-safe type manipulation hard and is being
progressively replaced with a cleaner MLIR model that replicates the type
system. Introduce a set of classes reflecting the LLVM IR type system in MLIR
instead of wrapping the existing types. These are currently introduced as
separate classes without affecting the dialect flow, and are exercised through
a test dialect. Once feature parity is reached, the old implementation will be
gradually substituted with the new one.
Depends On D84171
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D84339
More information about the All-commits
mailing list