[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