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

Hubert Tong via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 1 08:19:36 PST 2021


@Fangrui Song <i at maskray.me>
, 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210101/d5bc57d2/attachment.html>


More information about the llvm-commits mailing list