[PATCH] D119905: [X86ISelLowering] permit BlockAddressSDNode "i" constraints for PIC

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 16 15:00:05 PST 2022


efriedma added a comment.

In D119905#3327585 <https://reviews.llvm.org/D119905#3327585>, @nickdesaulniers wrote:

> In D119905#3327353 <https://reviews.llvm.org/D119905#3327353>, @efriedma wrote:
>
>> A blockaddress always refers to the version of the function in the current file (similar to the way an alias works).
>
> I'm not sure that holds under LTO. Otherwise I don't think we'd have bugs like: https://github.com/llvm/llvm-project/issues/52787.

It has to hold, or else everything just explodes.  blockaddresses aren't in the public symbol table of an object file.

This does make LTO a bit more complicated, but not impossible.  (e.g. ThinLTO can't import functions from other bitcode files if they refer to a blockaddress.)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119905/new/

https://reviews.llvm.org/D119905



More information about the llvm-commits mailing list