diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-03-01 00:35:47 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-03-01 00:35:47 +0000 |
commit | b735004615be10ffa60dd3d4b0a060f0bed2f8de (patch) | |
tree | d6852673e5d3a3fd1725c62a640e6b5d63f5d458 /clang/lib/CodeGen/CodeGenModule.h | |
parent | 2b94972eb981090e0289ba56edd22b311e9fd6f7 (diff) | |
download | bcm5719-llvm-b735004615be10ffa60dd3d4b0a060f0bed2f8de.tar.gz bcm5719-llvm-b735004615be10ffa60dd3d4b0a060f0bed2f8de.zip |
Start setting dllimport/dllexport in setGVProperties.
This is the next step in setting dso_local for COFF.
The patches changes setGVProperties to first set dllimport/dllexport
and changes a few cases that were setting dllimport/dllexport
manually. With this a few more GVs are marked dso_local.
llvm-svn: 326397
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.h | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index 29478c5ed89..fbdc4c16921 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -721,11 +721,16 @@ public: /// Set the visibility for the given LLVM GlobalValue. void setGlobalVisibility(llvm::GlobalValue *GV, const NamedDecl *D) const; + void setGlobalVisibilityAndLocal(llvm::GlobalValue *GV, + const NamedDecl *D) const; + void setDSOLocal(llvm::GlobalValue *GV) const; - /// Set visibility and dso_local. + void setDLLImportDLLExport(llvm::GlobalValue *GV, GlobalDecl D) const; + void setDLLImportDLLExport(llvm::GlobalValue *GV, const NamedDecl *D) const; + /// Set visibility, dllimport/dllexport and dso_local. /// This must be called after dllimport/dllexport is set. - /// FIXME: should this set dllimport/dllexport instead? + void setGVProperties(llvm::GlobalValue *GV, GlobalDecl GD) const; void setGVProperties(llvm::GlobalValue *GV, const NamedDecl *D) const; /// Set the TLS mode for the given LLVM GlobalValue for the thread-local @@ -1108,9 +1113,6 @@ public: F->setLinkage(getFunctionLinkage(GD)); } - /// Set the DLL storage class on F. - void setFunctionDLLStorageClass(GlobalDecl GD, llvm::Function *F); - /// Return the appropriate linkage for the vtable, VTT, and type information /// of the given class. llvm::GlobalVariable::LinkageTypes getVTableLinkage(const CXXRecordDecl *RD); @@ -1190,12 +1192,6 @@ public: /// NOTE: This should only be called for definitions. void SetCommonAttributes(GlobalDecl GD, llvm::GlobalValue *GV); - /// Set attributes which must be preserved by an alias. This includes common - /// attributes (i.e. it includes a call to SetCommonAttributes). - /// - /// NOTE: This should only be called for definitions. - void setAliasAttributes(GlobalDecl GD, llvm::GlobalValue *GV); - void addReplacement(StringRef Name, llvm::Constant *C); void addGlobalValReplacement(llvm::GlobalValue *GV, llvm::Constant *C); |