OLD | NEW |
1 //===- subzero/src/IceCompileServer.cpp - Compile server ------------------===// | 1 //===- subzero/src/IceCompileServer.cpp - Compile server ------------------===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file defines the basic commandline-based compile server. | 10 // This file defines the basic commandline-based compile server. |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 IceString StrError; | 89 IceString StrError; |
90 std::unique_ptr<llvm::DataStreamer> InputStream( | 90 std::unique_ptr<llvm::DataStreamer> InputStream( |
91 llvm::getDataFileStreamer(ExtraFlags.getIRFilename(), &StrError)); | 91 llvm::getDataFileStreamer(ExtraFlags.getIRFilename(), &StrError)); |
92 if (!StrError.empty() || !InputStream) { | 92 if (!StrError.empty() || !InputStream) { |
93 llvm::SMDiagnostic Err(ExtraFlags.getIRFilename(), | 93 llvm::SMDiagnostic Err(ExtraFlags.getIRFilename(), |
94 llvm::SourceMgr::DK_Error, StrError); | 94 llvm::SourceMgr::DK_Error, StrError); |
95 Err.print(ExtraFlags.getAppName().c_str(), *Ls); | 95 Err.print(ExtraFlags.getAppName().c_str(), *Ls); |
96 return transferErrorCode(getReturnValue(ExtraFlags, Ice::EC_Bitcode)); | 96 return transferErrorCode(getReturnValue(ExtraFlags, Ice::EC_Bitcode)); |
97 } | 97 } |
98 | 98 |
99 Ctx.reset(new GlobalContext(Ls.get(), Os.get(), ELFStr.get(), Flags)); | 99 Ctx.reset(new GlobalContext(Ls.get(), Os.get(), Ls.get(), ELFStr.get(), |
| 100 Flags)); |
100 if (Ctx->getFlags().getNumTranslationThreads() != 0) { | 101 if (Ctx->getFlags().getNumTranslationThreads() != 0) { |
101 std::thread CompileThread([this, &ExtraFlags, &InputStream]() { | 102 std::thread CompileThread([this, &ExtraFlags, &InputStream]() { |
102 Ctx->initParserThread(); | 103 Ctx->initParserThread(); |
103 getCompiler().run(ExtraFlags, *Ctx.get(), std::move(InputStream)); | 104 getCompiler().run(ExtraFlags, *Ctx.get(), std::move(InputStream)); |
104 }); | 105 }); |
105 CompileThread.join(); | 106 CompileThread.join(); |
106 } else { | 107 } else { |
107 getCompiler().run(ExtraFlags, *Ctx.get(), std::move(InputStream)); | 108 getCompiler().run(ExtraFlags, *Ctx.get(), std::move(InputStream)); |
108 } | 109 } |
109 transferErrorCode(getReturnValue( | 110 transferErrorCode(getReturnValue( |
110 ExtraFlags, static_cast<ErrorCodes>(Ctx->getErrorStatus()->value()))); | 111 ExtraFlags, static_cast<ErrorCodes>(Ctx->getErrorStatus()->value()))); |
111 } | 112 } |
112 | 113 |
113 } // end of namespace Ice | 114 } // end of namespace Ice |
OLD | NEW |