summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2018-03-01 00:35:47 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2018-03-01 00:35:47 +0000
commitb735004615be10ffa60dd3d4b0a060f0bed2f8de (patch)
treed6852673e5d3a3fd1725c62a640e6b5d63f5d458 /clang/lib/CodeGen/CodeGenModule.h
parent2b94972eb981090e0289ba56edd22b311e9fd6f7 (diff)
downloadbcm5719-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.h18
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);
OpenPOWER on IntegriCloud