[cfe-dev] Question about TBAA MDNode generation for pointer type
    Jingu Kang via cfe-dev 
    cfe-dev at lists.llvm.org
       
    Thu Nov  4 02:53:42 PDT 2021
    
    
  
Hi All,
I have a question about TBAA MDNode generation for pointer type. It looks like clang generates same MDNode for different pointer types as below.
clang/lib/CodeGen/CodeGenTBAA.cpp
llvm::MDNode *CodeGenTBAA::getTypeInfoHelper(const Type *Ty) {
…
  // Handle pointers and references.
  // TODO: Implement C++'s type "similarity" and consider dis-"similar"
  // pointers distinct.
  if (Ty->isPointerType() || Ty->isReferenceType())
    return createScalarTypeNode("any pointer", getChar(), Size);
It seems gcc creates different alias sets for different pointer types. I can not find the clear background reference about the alias rule for pointer type…
If the gcc’s alias rule for pointer type is correct, I would like to suggest for clang to follow it… because the alias analysis is quite crucial for performance…
If I missed something, please let me know.
Thanks
JinGu Kang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20211104/0f0c3eb9/attachment.html>
    
    
More information about the cfe-dev
mailing list