[PATCH] D20348: IR: Introduce local_unnamed_addr attribute.

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 1 06:42:14 PDT 2016


> This and the above really makes me wonder -- why do we need two attributes
> here? Do we really have two separate models?

unnamed_addr talks about a property *everywhere*.
local_unnamed_addr talks about a property in the current module.

So for example it is valid to merge a unname_addr constant with
another constant. It is not valid to do that with local_unnamed_addr.
Consider


Module1:
we merge faa1 (local_unammed_addr) and foo2.

Module2:
assume  that foo1 (not local_unnamed_addr in this module) and foo2
don't have the same address.


Cheers,
Rafael


More information about the llvm-commits mailing list