}
LTOCodeGenerator::LTOCodeGenerator()
- : Context(getGlobalContext()), Linker(new Module("ld-temp.o", Context)),
+ : Context(getGlobalContext()), IRLinker(new Module("ld-temp.o", Context)),
TargetMach(nullptr), EmitDwarfDebugInfo(false),
ScopeRestrictionsDone(false), CodeModel(LTO_CODEGEN_PIC_MODEL_DEFAULT),
NativeObjectFile(nullptr), DiagHandler(nullptr), DiagContext(nullptr) {
TargetMach = nullptr;
NativeObjectFile = nullptr;
- Linker.deleteModule();
+ IRLinker.deleteModule();
for (std::vector<char *>::iterator I = CodegenOptions.begin(),
E = CodegenOptions.end();
}
bool LTOCodeGenerator::addModule(LTOModule* mod, std::string& errMsg) {
- bool ret = Linker.linkInModule(mod->getLLVVMModule(), &errMsg);
+ bool ret = IRLinker.linkInModule(mod->getLLVVMModule(), &errMsg);
const std::vector<const char*> &undefs = mod->getAsmUndefinedRefs();
for (int i = 0, e = undefs.size(); i != e; ++i)
}
// write bitcode to it
- WriteBitcodeToFile(Linker.getModule(), Out.os());
+ WriteBitcodeToFile(IRLinker.getModule(), Out.os());
Out.os().close();
if (Out.os().has_error()) {
if (TargetMach)
return true;
- std::string TripleStr = Linker.getModule()->getTargetTriple();
+ std::string TripleStr = IRLinker.getModule()->getTargetTriple();
if (TripleStr.empty())
TripleStr = sys::getDefaultTargetTriple();
llvm::Triple Triple(TripleStr);
void LTOCodeGenerator::applyScopeRestrictions() {
if (ScopeRestrictionsDone)
return;
- Module *mergedModule = Linker.getModule();
+ Module *mergedModule = IRLinker.getModule();
// Start off with a verification pass.
PassManager passes;
if (!this->determineTarget(errMsg))
return false;
- Module *mergedModule = Linker.getModule();
+ Module *mergedModule = IRLinker.getModule();
// Mark which symbols can not be internalized
this->applyScopeRestrictions();