HomePhabricator

[mlir] First-party modeling of LLVM types

Authored by ftynse on Jul 29 2020, 5:58 AM.

Description

[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

Details

Committed
ftynseAug 3 2020, 6:45 AM
Reviewer
rriddle
Differential Revision
D84339: [mlir] First-party modeling of LLVM types
Parents
rG42a9f6c554e3: GlobalISel: Handle arbitrary FewerElementsVector for G_IMPLICIT_DEF
Branches
Unknown
Tags
Unknown