DescriptionAlways use a FunctionPassManager in pnacl-llc. MPPassManager breaks threading.
Otherwise every thread will translate every function and
we end up with duplicates. I.e., we cannot leave out
-streaming-bitcode and translate with more than one
thread (which is the default in pnacl-translate).
The -streaming-bitcode flag still affects how the
bitcode is read in however (everything materialized
at once or lazily), so "createPNaClABIVerifyModulePass(&ABIErrorReporter, LazyBitcode)"
is left alone.
Ultimately, this is to help make it easy to temporarily
leave off "-streaming-bitcode" until we find the source of
non-determinism. Switching to FunctionPassManager does not
affect the non-determinism either way (so the problem
may be in the materialization or something else instead):
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4101
BUG= https://code.google.com/p/chromium/issues/detail?id=429358
R=phosek@chromium.org
Committed: https://chromium.googlesource.com/native_client/pnacl-llvm/+/a8a2dc9a254ba1f10e65f117dc7f14a64cca6cff
Patch Set 1 #
Messages
Total messages: 4 (1 generated)
|