summaryrefslogtreecommitdiffstats
path: root/llvm/tools/lto/LTOCodeGenerator.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/lto/LTOCodeGenerator.h')
-rw-r--r--llvm/tools/lto/LTOCodeGenerator.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/tools/lto/LTOCodeGenerator.h b/llvm/tools/lto/LTOCodeGenerator.h
index 0556520424d..7798db974cb 100644
--- a/llvm/tools/lto/LTOCodeGenerator.h
+++ b/llvm/tools/lto/LTOCodeGenerator.h
@@ -19,6 +19,7 @@
#include "llvm/LLVMContext.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/SmallPtrSet.h"
#include <string>
@@ -46,6 +47,10 @@ private:
bool generateObjectFile(llvm::raw_ostream& out,
std::string& errMsg);
void applyScopeRestrictions();
+ void applyRestriction(llvm::GlobalValue &GV,
+ std::vector<const char*> &mustPreserveList,
+ llvm::SmallPtrSet<llvm::GlobalValue*, 8> &asmUsed,
+ llvm::Mangler &mangler);
bool determineTarget(std::string& errMsg);
typedef llvm::StringMap<uint8_t> StringSet;
@@ -57,6 +62,7 @@ private:
bool _scopeRestrictionsDone;
lto_codegen_model _codeModel;
StringSet _mustPreserveSymbols;
+ StringSet _asmUndefinedRefs;
llvm::MemoryBuffer* _nativeObjectFile;
std::vector<const char*> _codegenOptions;
std::string _mCpu;
OpenPOWER on IntegriCloud