3 Commits

Author SHA1 Message Date
Tobias Gysi
2ea6bb645e [mlir][llvm] Use interfaces in the translation to LLVMIR.
The revision consistently uses the AliasAnalysisOp and AccessGroupOp
interfaces in the translation from MLIR to LLVMIR. It thus drops the
last string based lookups of alias scope and access group attributes.

Depends on D144851

Reviewed By: Dinistro

Differential Revision: https://reviews.llvm.org/D145037
2023-03-02 13:00:57 +01:00
Christian Ulmann
87a0479538 [mlir][llvm] Fuse access_group & loop export (NFC)
This commit moves the access group translation into the
LoopAnnotationTranslation class as these two metadata kinds only appear
together.

Drops the access group cleanup from `ModuleTranslation::forgetMapping`
as this is only used on function regions. Access groups only appear in the
region of a global metadata operation and will thus not be cleaned here.

Analogous to https://reviews.llvm.org/D143577

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D144253
2023-02-17 15:31:21 +01:00
Christian Ulmann
889a11783e [mlir][llvm] Add structured loop metadata
This commit introduces a structured representation of loop metadata to
the LLVM dialect. This attribute explicitly models all known `!llvm.loop`
metadata fields and groups them by introducing nested attributes for each
namespace.

The new attribute replaces the LoopOptionAttr that could only model a
limited subset of loop metadata.

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D143064
2023-02-03 08:57:30 +01:00