HomePhabricator

[mlir] Support for mutable types

Authored by ftynse on Jul 22 2020, 4:03 AM.

Description

[mlir] Support for mutable types

Introduce support for mutable storage in the StorageUniquer infrastructure.
This makes MLIR have key-value storage instead of just uniqued key storage. A
storage instance now contains a unique immutable key and a mutable value, both
stored in the arena allocator that belongs to the context. This is a
preconditio for supporting recursive types that require delayed initialization,
in particular LLVM structure types. The functionality is exercised in the test
pass with trivial self-recursive type. So far, recursive types can only be
printed in parsed in a closed type system. Removing this restriction is left
for future work.

Differential Revision: https://reviews.llvm.org/D84171

Details

Committed
ftynseJul 27 2020, 4:07 AM
Differential Revision
D84171: [mlir] Support for mutable types
Parents
rG1956cf1042d3: [lldb/DWARF] Don't treat class declarations with children as definitions
Branches
Unknown
Tags
Unknown