[llvm] d1fd723 - Refactor how -fno-semantic-interposition sets dso_local on default visibility external linkage definitions

Fāng-ruì Sòng via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 1 10:47:06 PST 2021


Fixed by ec9f2c3be070ec2fc4d45f13c70e68c8c0deafc2
test/OpenMP/parallel_codegen.cpp: Allow multiple result attributes

On Fri, Jan 1, 2021 at 8:20 AM Hubert Tong
<hubert.reinterpretcast at gmail.com> wrote:
>
> @Fangrui Song
> , multiple PPC bots are failing on clang/test/OpenMP/parallel_codegen.cpp after this commit:
>
> http://lab.llvm.org:8011/#/builders/52/builds/2939
> http://lab.llvm.org:8011/#/builders/57/builds/2938
>
> These bots were passing immediately before your commits.
>
> > git log --oneline 14dc69b09218bb580069eb547bb16ab0c43db6d4..d1fd72343c6ff58a3b66bc0df56fed9ac21e4056
> d1fd723 Refactor how -fno-semantic-interposition sets dso_local on default visibility external linkage definitions
> 219d00e [test] Make ELF tests immune to dso_local/dso_preemptable/(none) differences
>
> Can you have a look?
>
> -- HT
>
> On Thu, Dec 31, 2020 at 5:00 PM Fangrui Song via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>
>>
>> Author: Fangrui Song
>> Date: 2020-12-31T13:59:45-08:00
>> New Revision: d1fd72343c6ff58a3b66bc0df56fed9ac21e4056
>>
>> URL: https://github.com/llvm/llvm-project/commit/d1fd72343c6ff58a3b66bc0df56fed9ac21e4056
>> DIFF: https://github.com/llvm/llvm-project/commit/d1fd72343c6ff58a3b66bc0df56fed9ac21e4056.diff
>>
>> LOG: Refactor how -fno-semantic-interposition sets dso_local on default visibility external linkage definitions
>>
>> The idea is that the CC1 default for ELF should set dso_local on default
>> visibility external linkage definitions in the default -mrelocation-model pic
>> mode (-fpic/-fPIC) to match COFF/Mach-O and make output IR similar.
>>
>> The refactoring is made available by 2820a2ca3a0e69c3f301845420e0067ffff2251b.
>>
>> Currently only x86 supports local aliases. We move the decision to the driver.
>> There are three CC1 states:
>>
>> * -fsemantic-interposition: make some linkages interposable and make default visibility external linkage definitions dso_preemptable.
>> * (default): selected if the target supports .Lfoo$local: make default visibility external linkage definitions dso_local
>> * -fhalf-no-semantic-interposition: if neither option is set or the target does not support .Lfoo$local: like -fno-semantic-interposition but local aliases are not used. So references can be interposed if not optimized out.
>>
>> Add -fhalf-no-semantic-interposition to a few tests using the half-based semantic interposition behavior.



-- 
宋方睿


More information about the llvm-commits mailing list