search for: objectutils

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