[all-commits] [llvm/llvm-project] ff2e24: [PS4] Support dllimport/export attributes

bd1976bris via All-commits all-commits at lists.llvm.org
Mon Nov 2 06:26:06 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ff2e24a741e4cee903fa71ec5c8c1909a89f66a3
      https://github.com/llvm/llvm-project/commit/ff2e24a741e4cee903fa71ec5c8c1909a89f66a3
  Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    A clang/test/CodeGen/ps4-dllimport-dllexport.c
    M llvm/include/llvm/ADT/Triple.h

  Log Message:
  -----------
  [PS4] Support dllimport/export attributes

For PS4 development we support dllimport/export annotations in
source code. This patch enables the dllimport/export attributes
on PS4 by adding a new function to query the triple for whether
dllimport/export are used and using that function to decide
whether these attributes are supported. This replaces the current
method of checking if the target is Windows.

This means we can drop the use of "TargetArch" in the .td file
(which is an improvement as dllimport/export support isn't really
a function of the architecture).

I have included a simple codgen test to show that the attributes
are accepted and have an effect on codegen for PS4. I have also
enabled the DLLExportStaticLocal and DLLImportStaticLocal
attributes, which we support downstream. However, I am unable to
write a test for these attributes until other patches for PS4
dllimport/export handling land upstream. Whilst writing this
patch I noticed that, as these attributes are internal, they do
not need to be target specific (when these attributes are added
internally in Clang the target specific checks have already been
run); however, I think leaving them target specific is fine
because it isn't harmful and they "really are" target specific
even if that has no functional impact.

Differential Revision: https://reviews.llvm.org/D90442




More information about the All-commits mailing list