Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: src/IceCompiler.cpp

Issue 1834473002: Allow Subzero to parse function blocks in parallel. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix issues from last patch. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/IceCompiler.cpp
diff --git a/src/IceCompiler.cpp b/src/IceCompiler.cpp
index bd5e8343a554bf1ada85fd1da831f64ce6007770..9735b2a0092e040e5275b638cbe79685c35706c6 100644
--- a/src/IceCompiler.cpp
+++ b/src/IceCompiler.cpp
@@ -63,11 +63,11 @@ void Compiler::run(const Ice::ClFlags &Flags, GlobalContext &Ctx,
// allows only --filetype=obj. Check here to avoid cryptic error messages
// downstream.
if (!BuildDefs::dump() && Ctx.getFlags().getOutFileType() != FT_Elf) {
+ Ctx.getErrorStatus()->assign(EC_Args);
Jim Stichnoth 2016/03/25 04:31:04 I'm curious why this line got moved?
Karl 2016/03/29 17:35:02 Programmer error. I initially thought I needed to
// TODO(stichnot): Access the actual command-line argument via
Jim Stichnoth 2016/03/25 04:31:04 Can you just delete this TODO? Pretty sure it's n
Karl 2016/03/29 17:35:02 Done.
// llvm::Option.ArgStr and .ValueStr .
Ctx.getStrError()
<< "Error: only --filetype=obj is supported in this build.\n";
- Ctx.getErrorStatus()->assign(EC_Args);
return;
}
@@ -90,6 +90,7 @@ void Compiler::run(const Ice::ClFlags &Flags, GlobalContext &Ctx,
Ctx.getStrError()
<< "non BuildOnRead is not supported w/ PNACL_BROWSER_TRANSLATOR\n";
Ctx.getErrorStatus()->assign(EC_Args);
+ Ctx.waitForWorkerThreads();
return;
}
// Globals must be kept alive after lowering when converting from LLVM to
@@ -108,6 +109,7 @@ void Compiler::run(const Ice::ClFlags &Flags, GlobalContext &Ctx,
if (!Mod) {
Err.print(Flags.getAppName().c_str(), llvm::errs());
Ctx.getErrorStatus()->assign(EC_Bitcode);
+ Ctx.waitForWorkerThreads();
return;
}
@@ -118,6 +120,7 @@ void Compiler::run(const Ice::ClFlags &Flags, GlobalContext &Ctx,
Ctx.getStrError() << "Error: Build doesn't allow LLVM IR, "
<< "--build-on-read=0 not allowed\n";
Ctx.getErrorStatus()->assign(EC_Args);
+ Ctx.waitForWorkerThreads();
return;
}

Powered by Google App Engine
This is Rietveld 408576698