| OLD | NEW |
| 1 //===- subzero/src/IceClFlags.cpp - Command line flags and parsing --------===// | 1 //===- subzero/src/IceClFlags.cpp - Command line flags and parsing --------===// |
| 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 commandline flags parsing. | 10 // This file defines commandline flags parsing. |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 // Note: Modifiable only if ALLOW_DISABLE_IR_GEN. | 58 // Note: Modifiable only if ALLOW_DISABLE_IR_GEN. |
| 59 cl::opt<bool> DisableIRGeneration("no-ir-gen", | 59 cl::opt<bool> DisableIRGeneration("no-ir-gen", |
| 60 cl::desc("Disable generating Subzero IR.")); | 60 cl::desc("Disable generating Subzero IR.")); |
| 61 cl::opt<bool> DisableTranslation("notranslate", | 61 cl::opt<bool> DisableTranslation("notranslate", |
| 62 cl::desc("Disable Subzero translation")); | 62 cl::desc("Disable Subzero translation")); |
| 63 | 63 |
| 64 cl::opt<bool> | 64 cl::opt<bool> |
| 65 DumpStats("szstats", | 65 DumpStats("szstats", |
| 66 cl::desc("Print statistics after translating each function")); | 66 cl::desc("Print statistics after translating each function")); |
| 67 | 67 |
| 68 cl::opt<bool> EnableBlockProfile( |
| 69 "enable-block-profile", |
| 70 cl::desc("If true, instrument basic blocks, and output profiling " |
| 71 "information to stdout at the end of program execution."), |
| 72 cl::init(false)); |
| 73 |
| 68 cl::opt<bool> | 74 cl::opt<bool> |
| 69 FunctionSections("ffunction-sections", | 75 FunctionSections("ffunction-sections", |
| 70 cl::desc("Emit functions into separate sections")); | 76 cl::desc("Emit functions into separate sections")); |
| 71 | 77 |
| 72 // Number of translation threads (in addition to the parser thread and | 78 // Number of translation threads (in addition to the parser thread and |
| 73 // the emitter thread). The special case of 0 means purely | 79 // the emitter thread). The special case of 0 means purely |
| 74 // sequential, i.e. parser, translator, and emitter all within the | 80 // sequential, i.e. parser, translator, and emitter all within the |
| 75 // same single thread. (This may need a slight rework if we expand to | 81 // same single thread. (This may need a slight rework if we expand to |
| 76 // multiple parser or emitter threads.) | 82 // multiple parser or emitter threads.) |
| 77 cl::opt<uint32_t> NumThreads( | 83 cl::opt<uint32_t> NumThreads( |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 void ClFlags::resetClFlags(ClFlags &OutFlags) { | 260 void ClFlags::resetClFlags(ClFlags &OutFlags) { |
| 255 // bool fields | 261 // bool fields |
| 256 OutFlags.AllowErrorRecovery = false; | 262 OutFlags.AllowErrorRecovery = false; |
| 257 OutFlags.AllowUninitializedGlobals = false; | 263 OutFlags.AllowUninitializedGlobals = false; |
| 258 OutFlags.DataSections = false; | 264 OutFlags.DataSections = false; |
| 259 OutFlags.DecorateAsm = false; | 265 OutFlags.DecorateAsm = false; |
| 260 OutFlags.DisableInternal = false; | 266 OutFlags.DisableInternal = false; |
| 261 OutFlags.DisableIRGeneration = false; | 267 OutFlags.DisableIRGeneration = false; |
| 262 OutFlags.DisableTranslation = false; | 268 OutFlags.DisableTranslation = false; |
| 263 OutFlags.DumpStats = false; | 269 OutFlags.DumpStats = false; |
| 270 OutFlags.EnableBlockProfile = false; |
| 264 OutFlags.FunctionSections = false; | 271 OutFlags.FunctionSections = false; |
| 265 OutFlags.GenerateUnitTestMessages = false; | 272 OutFlags.GenerateUnitTestMessages = false; |
| 266 OutFlags.PhiEdgeSplit = false; | 273 OutFlags.PhiEdgeSplit = false; |
| 267 OutFlags.RandomNopInsertion = false; | 274 OutFlags.RandomNopInsertion = false; |
| 268 OutFlags.RandomRegAlloc = false; | 275 OutFlags.RandomRegAlloc = false; |
| 269 OutFlags.SkipUnimplemented = false; | 276 OutFlags.SkipUnimplemented = false; |
| 270 OutFlags.SubzeroTimingEnabled = false; | 277 OutFlags.SubzeroTimingEnabled = false; |
| 271 OutFlags.TimeEachFunction = false; | 278 OutFlags.TimeEachFunction = false; |
| 272 OutFlags.UseSandboxing = false; | 279 OutFlags.UseSandboxing = false; |
| 273 // Enum and integer fields. | 280 // Enum and integer fields. |
| (...skipping 30 matching lines...) Expand all Loading... |
| 304 OutFlags.setAllowErrorRecovery(::AllowErrorRecovery); | 311 OutFlags.setAllowErrorRecovery(::AllowErrorRecovery); |
| 305 OutFlags.setAllowUninitializedGlobals(::AllowUninitializedGlobals); | 312 OutFlags.setAllowUninitializedGlobals(::AllowUninitializedGlobals); |
| 306 OutFlags.setDataSections(::DataSections); | 313 OutFlags.setDataSections(::DataSections); |
| 307 OutFlags.setDecorateAsm(::DecorateAsm); | 314 OutFlags.setDecorateAsm(::DecorateAsm); |
| 308 OutFlags.setDefaultFunctionPrefix(::DefaultFunctionPrefix); | 315 OutFlags.setDefaultFunctionPrefix(::DefaultFunctionPrefix); |
| 309 OutFlags.setDefaultGlobalPrefix(::DefaultGlobalPrefix); | 316 OutFlags.setDefaultGlobalPrefix(::DefaultGlobalPrefix); |
| 310 OutFlags.setDisableInternal(::DisableInternal); | 317 OutFlags.setDisableInternal(::DisableInternal); |
| 311 OutFlags.setDisableIRGeneration(::DisableIRGeneration); | 318 OutFlags.setDisableIRGeneration(::DisableIRGeneration); |
| 312 OutFlags.setDisableTranslation(::DisableTranslation); | 319 OutFlags.setDisableTranslation(::DisableTranslation); |
| 313 OutFlags.setDumpStats(::DumpStats); | 320 OutFlags.setDumpStats(::DumpStats); |
| 321 OutFlags.setEnableBlockProfile(::EnableBlockProfile); |
| 314 OutFlags.setFunctionSections(::FunctionSections); | 322 OutFlags.setFunctionSections(::FunctionSections); |
| 315 OutFlags.setNumTranslationThreads(::NumThreads); | 323 OutFlags.setNumTranslationThreads(::NumThreads); |
| 316 OutFlags.setOptLevel(::OLevel); | 324 OutFlags.setOptLevel(::OLevel); |
| 317 OutFlags.setPhiEdgeSplit(::EnablePhiEdgeSplit); | 325 OutFlags.setPhiEdgeSplit(::EnablePhiEdgeSplit); |
| 318 OutFlags.setRandomSeed(::RandomSeed); | 326 OutFlags.setRandomSeed(::RandomSeed); |
| 319 OutFlags.setShouldDoNopInsertion(::ShouldDoNopInsertion); | 327 OutFlags.setShouldDoNopInsertion(::ShouldDoNopInsertion); |
| 320 OutFlags.setShouldRandomizeRegAlloc(::RandomizeRegisterAllocation); | 328 OutFlags.setShouldRandomizeRegAlloc(::RandomizeRegisterAllocation); |
| 321 OutFlags.setSkipUnimplemented(::SkipUnimplemented); | 329 OutFlags.setSkipUnimplemented(::SkipUnimplemented); |
| 322 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled); | 330 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled); |
| 323 OutFlags.setTargetArch(::TargetArch); | 331 OutFlags.setTargetArch(::TargetArch); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 340 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); | 348 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); |
| 341 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); | 349 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); |
| 342 OutFlagsExtra.setAppName(AppName); | 350 OutFlagsExtra.setAppName(AppName); |
| 343 OutFlagsExtra.setInputFileFormat(InputFileFormat); | 351 OutFlagsExtra.setInputFileFormat(InputFileFormat); |
| 344 OutFlagsExtra.setIRFilename(IRFilename); | 352 OutFlagsExtra.setIRFilename(IRFilename); |
| 345 OutFlagsExtra.setLogFilename(LogFilename); | 353 OutFlagsExtra.setLogFilename(LogFilename); |
| 346 OutFlagsExtra.setOutputFilename(OutputFilename); | 354 OutFlagsExtra.setOutputFilename(OutputFilename); |
| 347 } | 355 } |
| 348 | 356 |
| 349 } // end of namespace Ice | 357 } // end of namespace Ice |
| OLD | NEW |