| OLD | NEW |
| 1 //===- subzero/src/main.cpp - Driver for bitcode translation --------------===// | 1 //===- subzero/src/main.cpp - Driver for bitcode translation --------------===// |
| 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 a driver for translating PNaCl bitcode into native code. | 10 // This file defines a driver for translating PNaCl bitcode into native code. |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 static cl::opt<bool> | 169 static cl::opt<bool> |
| 170 BuildOnRead("build-on-read", | 170 BuildOnRead("build-on-read", |
| 171 cl::desc("Build ICE instructions when reading bitcode"), | 171 cl::desc("Build ICE instructions when reading bitcode"), |
| 172 cl::init(true)); | 172 cl::init(true)); |
| 173 | 173 |
| 174 static cl::opt<bool> AllowErrorRecovery( | 174 static cl::opt<bool> AllowErrorRecovery( |
| 175 "allow-pnacl-reader-error-recovery", | 175 "allow-pnacl-reader-error-recovery", |
| 176 cl::desc("Allow error recovery when reading PNaCl bitcode."), | 176 cl::desc("Allow error recovery when reading PNaCl bitcode."), |
| 177 cl::init(false)); | 177 cl::init(false)); |
| 178 | 178 |
| 179 // TODO(kschimpf) Remove once the emitter handles these cases. | |
| 180 static cl::opt<bool> | |
| 181 StubConstantCalls("stub-const-calls", | |
| 182 cl::desc("Stub indirect calls to constants."), | |
| 183 cl::init(false)); | |
| 184 | |
| 185 static cl::opt<bool> LLVMVerboseErrors( | 179 static cl::opt<bool> LLVMVerboseErrors( |
| 186 "verbose-llvm-parse-errors", | 180 "verbose-llvm-parse-errors", |
| 187 cl::desc("Print out more descriptive PNaCl bitcode parse errors when " | 181 cl::desc("Print out more descriptive PNaCl bitcode parse errors when " |
| 188 "building LLVM IR first"), | 182 "building LLVM IR first"), |
| 189 cl::init(false)); | 183 cl::init(false)); |
| 190 | 184 |
| 191 static cl::opt<Ice::FileType> OutFileType( | 185 static cl::opt<Ice::FileType> OutFileType( |
| 192 "filetype", cl::desc("Output file type"), cl::init(Ice::FT_Iasm), | 186 "filetype", cl::desc("Output file type"), cl::init(Ice::FT_Iasm), |
| 193 cl::values(clEnumValN(Ice::FT_Elf, "obj", "Native ELF object ('.o') file"), | 187 cl::values(clEnumValN(Ice::FT_Elf, "obj", "Native ELF object ('.o') file"), |
| 194 clEnumValN(Ice::FT_Asm, "asm", "Assembly ('.s') file"), | 188 clEnumValN(Ice::FT_Asm, "asm", "Assembly ('.s') file"), |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 Flags.setDecorateAsm(DecorateAsm); | 298 Flags.setDecorateAsm(DecorateAsm); |
| 305 Flags.setDefaultFunctionPrefix(DefaultFunctionPrefix); | 299 Flags.setDefaultFunctionPrefix(DefaultFunctionPrefix); |
| 306 Flags.setDefaultGlobalPrefix(DefaultGlobalPrefix); | 300 Flags.setDefaultGlobalPrefix(DefaultGlobalPrefix); |
| 307 Flags.setDisableInternal(DisableInternal); | 301 Flags.setDisableInternal(DisableInternal); |
| 308 Flags.setDisableIRGeneration(DisableIRGeneration); | 302 Flags.setDisableIRGeneration(DisableIRGeneration); |
| 309 Flags.setDisableTranslation(DisableTranslation); | 303 Flags.setDisableTranslation(DisableTranslation); |
| 310 Flags.setDumpStats(DumpStats); | 304 Flags.setDumpStats(DumpStats); |
| 311 Flags.setFunctionSections(FunctionSections); | 305 Flags.setFunctionSections(FunctionSections); |
| 312 Flags.setNumTranslationThreads(NumThreads); | 306 Flags.setNumTranslationThreads(NumThreads); |
| 313 Flags.setPhiEdgeSplit(EnablePhiEdgeSplit); | 307 Flags.setPhiEdgeSplit(EnablePhiEdgeSplit); |
| 314 Flags.setStubConstantCalls(StubConstantCalls); | |
| 315 Flags.setSubzeroTimingEnabled(SubzeroTimingEnabled); | 308 Flags.setSubzeroTimingEnabled(SubzeroTimingEnabled); |
| 316 Flags.setTimeEachFunction(TimeEachFunction); | 309 Flags.setTimeEachFunction(TimeEachFunction); |
| 317 Flags.setTimingFocusOn(TimingFocusOn); | 310 Flags.setTimingFocusOn(TimingFocusOn); |
| 318 Flags.setTranslateOnly(TranslateOnly); | 311 Flags.setTranslateOnly(TranslateOnly); |
| 319 Flags.setUseSandboxing(UseSandboxing); | 312 Flags.setUseSandboxing(UseSandboxing); |
| 320 Flags.setVerboseFocusOn(VerboseFocusOn); | 313 Flags.setVerboseFocusOn(VerboseFocusOn); |
| 321 Flags.setOutFileType(OutFileType); | 314 Flags.setOutFileType(OutFileType); |
| 322 | 315 |
| 323 // Force -build-on-read=0 for .ll files. | 316 // Force -build-on-read=0 for .ll files. |
| 324 const std::string LLSuffix = ".ll"; | 317 const std::string LLSuffix = ".ll"; |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 if (SubzeroTimingEnabled) | 419 if (SubzeroTimingEnabled) |
| 427 Ctx.dumpTimers(); | 420 Ctx.dumpTimers(); |
| 428 if (TimeEachFunction) { | 421 if (TimeEachFunction) { |
| 429 const bool DumpCumulative = false; | 422 const bool DumpCumulative = false; |
| 430 Ctx.dumpTimers(Ice::GlobalContext::TSK_Funcs, DumpCumulative); | 423 Ctx.dumpTimers(Ice::GlobalContext::TSK_Funcs, DumpCumulative); |
| 431 } | 424 } |
| 432 const bool FinalStats = true; | 425 const bool FinalStats = true; |
| 433 Ctx.dumpStats("_FINAL_", FinalStats); | 426 Ctx.dumpStats("_FINAL_", FinalStats); |
| 434 return GetReturnValue(Ctx.getErrorStatus()->value()); | 427 return GetReturnValue(Ctx.getErrorStatus()->value()); |
| 435 } | 428 } |
| OLD | NEW |