diff options
author | Karl Schimpf <kschimpf@google.com> | 2013-06-05 09:34:46 -0700 |
---|---|---|
committer | Karl Schimpf <kschimpf@google.com> | 2013-06-05 09:34:46 -0700 |
commit | 69a8e32d4f4451e11cda6d48b318ba4f7e01c683 (patch) | |
tree | 4bfc77a36fa3e648b7d0d9b7a463c6b1180add47 /tools/opt | |
parent | 70fa5e76093e7566e92786d5cc25ef1792b7cea1 (diff) |
Change CL flag -pnacl-freeze to -bitcode-format={llvm,pnacl}.
Also removes flag from llvm-as.cpp and LTOCodeGenerator.cpp
since one should call pnacl-finalize to
transform pexe's to PNaCl bitcode form.
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3469
R=dschuff@chromium.org, jvoung@chromium.org
Review URL: https://codereview.chromium.org/16295014
Diffstat (limited to 'tools/opt')
-rw-r--r-- | tools/opt/opt.cpp | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 135b36e3db..81006c3507 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -171,10 +171,20 @@ DefaultDataLayout("default-data-layout", cl::value_desc("layout-string"), cl::init("")); // @LOCALMOD-BEGIN -static cl::opt<bool> -GeneratePNaClBitcode("pnacl-freeze", - cl::desc("Generate a pnacl-frozen bitcode file"), - cl::init(false)); +enum BcFormat { + LLVMFormat, + PNaClFormat +}; + +static cl::opt<BcFormat> +BitcodeFormat( + "bitcode-format", + cl::desc("Define format of generated bitcode file:"), + cl::values( + clEnumValN(LLVMFormat, "llvm", "LLVM bitcode (default)"), + clEnumValN(PNaClFormat, "pnacl", "PNaCl bitcode"), + clEnumValEnd), + cl::init(LLVMFormat)); // @LOCALMOD-END // ---------- Define Printers for module and function passes ------------ @@ -891,10 +901,17 @@ int main(int argc, char **argv) { // @LOCALMOD-BEGIN // Write bitcode to the output. if (!NoOutput && !AnalyzeOnly && !OutputAssembly) { - if (GeneratePNaClBitcode) - NaClWriteBitcodeToFile(M.get(), Out->os()); - else - WriteBitcodeToFile(M.get(), Out->os()); + switch (BitcodeFormat) { + case LLVMFormat: + WriteBitcodeToFile(M.get(), Out->os()); + break; + case PNaClFormat: + NaClWriteBitcodeToFile(M.get(), Out->os()); + break; + default: + errs() << "Don't understand bitcode format for generated bitcode.\n"; + return 1; + } } // @LOCALMOD-END |