Displaying 5 results from an estimated 5 matches for "objectutils".
2018 Feb 07
3
ThinLTO and linkonce_odr + unnamed_addr
That is a good question and I don't know. The optimization is defined include/llvm/Analysis/ObjectUtils.h. If I enable that for weak_odr + unnamed_addr, no tests are failing so I guess it is a safe optimization? :)
It is probably because the autohide optimization is targeted at c++ templates and inline functions and we know they have linkonce_odr linkage, which suggests whoever uses this symbol shou...
2018 Feb 07
0
ThinLTO and linkonce_odr + unnamed_addr
...t to resolve this inconsistency
between the platforms. It's a much better out of the box experience anyway.
On Wed, Feb 7, 2018 at 11:11 AM, Steven Wu <stevenwu at apple.com> wrote:
> That is a good question and I don't know. The optimization is
> defined include/llvm/Analysis/ObjectUtils.h. If I enable that for
> weak_odr + unnamed_addr, no tests are failing so I guess it is a safe
> optimization? :)
>
> It is probably because the autohide optimization is targeted at c++
> templates and inline functions and we know they have linkonce_odr linkage,
> which suggests...
2018 Feb 07
2
ThinLTO and linkonce_odr + unnamed_addr
...tency
> between the platforms. It's a much better out of the box experience anyway.
>
> On Wed, Feb 7, 2018 at 11:11 AM, Steven Wu <stevenwu at apple.com> wrote:
>
>> That is a good question and I don't know. The optimization is
>> defined include/llvm/Analysis/ObjectUtils.h. If I enable that for
>> weak_odr + unnamed_addr, no tests are failing so I guess it is a safe
>> optimization? :)
>>
>> It is probably because the autohide optimization is targeted at c++
>> templates and inline functions and we know they have linkonce_odr linkage,...
2018 Feb 07
0
ThinLTO and linkonce_odr + unnamed_addr
There should be no semantic difference between linkonce_odr and weak_odr,
except that weak_odr is non-discardable. Why doesn't the autohide
optimization work just as well on weak_odr + unnamed_addr as linkonce_odr +
unnamed_addr?
On Tue, Feb 6, 2018 at 5:35 PM, Steven Wu via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi,
>
> I recently found that thinLTO doesn't deal
2018 Feb 07
7
ThinLTO and linkonce_odr + unnamed_addr
Hi,
I recently found that thinLTO doesn't deal with globals that has linkonce_odr and unnamed_addr (for macho at least) because it prohibits the autohide optimization during link time.
In LLVM, we tagged a global linkonce_odr and unnamed_addr to indicate to the linker can hide them from symbol table if they were picked (aka, linkonce_odr_auto_hide linkage). It is very commonly used for some