[PATCH] D31444: LTO: call getRealLinkageName on IRNames before feeding to getGUID
    Peter Collingbourne via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Mar 29 15:26:09 PDT 2017
    
    
  
pcc added a comment.
In https://reviews.llvm.org/D31444#713580, @inglorion wrote:
> So the idea is to essentially force callers to supply a linkage type and a filename so that they have to think about this stuff, and then say "If you don't have a linkage type, just pass ExternalLinkage and a dummy filename"?
Yes.
> And then always call getRealLinkageName inside getGUID to correctly handle IRNames and hope that nobody ever has a non-IR name that starts in "\x01"?
The getGUID function should only be taking IR names, never mangled names. To express a mangled name starting with "\x01" you would use something like "\x01\x01foo".
It is unfortunate that we have at least three kinds of names: IR names, getRealLinkageName() and true mangled names as used in object files. I hope we can at least be able to merge the last two in the future, but for now there should be clear comments explaining the different types of names.
https://reviews.llvm.org/D31444
    
    
More information about the llvm-commits
mailing list