Description
I'm currently working on implementing support for TBAA ( llvm/clangir#1076 ) in Clang IR and have noticed that the LLVM Dialect does not accommodate the new format of TBAA.
To address this, I’ve identified two potential approaches:
-
Enhance Existing Attributes: We could extend the current attributes, namely
LLVM_TBAAMemberAttr
,LLVM_TBAATypeDescriptorAttr
, andLLVM_TBAATagAttr
, to support the new struct path TBAA format. -
Introduce Separate Attributes: Alternatively, we could introduce separate attributes such as
LLVM_TBAAStructFieldAttr
,LLVM_TBAATypeNodeAttr
, andLLVM_TBAAAccessTagAttr
that are specifically designed to handle the new struct path TBAA. (a draft patch is [mlir][llvm] support -new-struct-path-tbaa #119698 )
I’d like to gather feedback from the community on which design approach is preferred. Your insights and suggestions would be greatly appreciated!