aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorSlava Zakharin <szakharin@nvidia.com>2022-12-29 15:14:41 -0800
committerSlava Zakharin <szakharin@nvidia.com>2023-01-06 11:16:31 -0800
commit2f66c891307cbf1e506b04ac2f7add4dbd64c9c5 (patch)
tree1861852a6fa502ac56213f4e99b103fea9c8e427 /llvm/lib/CodeGen/MachineFunction.cpp
parent1b12d7d15b4f3238d5d09efcfc0cc8fde58bddb1 (diff)
downloadllvm-2f66c891307cbf1e506b04ac2f7add4dbd64c9c5.zip
llvm-2f66c891307cbf1e506b04ac2f7add4dbd64c9c5.tar.gz
llvm-2f66c891307cbf1e506b04ac2f7add4dbd64c9c5.tar.bz2
[mlir] Support TBAA metadata in LLVMIR dialect.
This change introduces new LLVMIR dialect operations to represent TBAA root, type descriptor and access tag metadata nodes. For the purpose of importing TBAA metadata from LLVM IR it only supports the current version of TBAA format described in https://llvm.org/docs/LangRef.html#tbaa-metadata (i.e. size-aware representation introduced in D41501 is not supported). TBAA attribute support is only added for LLVM::LoadOp and LLVM::StoreOp. Support for intrinsics operations (e.g. LLVM::MemcpyOp) may be added later. The TBAA attribute is represented as an array of access tags, though, LLVM IR supports only single access tag per memory accessing instruction. I implemented it as an array anticipating similar support in LLVM IR to combine TBAA graphs with different roots for Flang - one of the options described in https://docs.google.com/document/d/16kKZVmI585wth01VSaJAqZMZpoX68rcdBmgfj0kNAt0/edit#heading=h.jzzheaz9vqac It should be easy to restrict MLIR operation to a single access tag, if we end up using a different approach for Flang. Differential Revision: https://reviews.llvm.org/D140768
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions