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 /// \file | 10 /// \file |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 cl::opt<std::string> TimingFocusOn( | 249 cl::opt<std::string> TimingFocusOn( |
250 "timing-focus", | 250 "timing-focus", |
251 cl::desc("Break down timing for a specific function (use '*' for all)"), | 251 cl::desc("Break down timing for a specific function (use '*' for all)"), |
252 cl::init("")); | 252 cl::init("")); |
253 | 253 |
254 /// Translate only the given function. | 254 /// Translate only the given function. |
255 cl::opt<std::string> | 255 cl::opt<std::string> |
256 TranslateOnly("translate-only", | 256 TranslateOnly("translate-only", |
257 cl::desc("Translate only the given function"), cl::init("")); | 257 cl::desc("Translate only the given function"), cl::init("")); |
258 | 258 |
| 259 /// Enable Non-SFI mode. |
| 260 cl::opt<bool> UseNonsfi("nonsfi", cl::desc("Enable Non-SFI mode")); |
| 261 |
259 /// Use sandboxing. | 262 /// Use sandboxing. |
260 cl::opt<bool> UseSandboxing("sandbox", cl::desc("Use sandboxing")); | 263 cl::opt<bool> UseSandboxing("sandbox", cl::desc("Use sandboxing")); |
261 | 264 |
262 /// Override with -verbose=none except for the specified function. | 265 /// Override with -verbose=none except for the specified function. |
263 cl::opt<std::string> VerboseFocusOn( | 266 cl::opt<std::string> VerboseFocusOn( |
264 "verbose-focus", | 267 "verbose-focus", |
265 cl::desc("Override with -verbose=none except for the specified function"), | 268 cl::desc("Override with -verbose=none except for the specified function"), |
266 cl::init("")); | 269 cl::init("")); |
267 | 270 |
268 /// Output file type. | 271 /// Output file type. |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 OutFlags.RandomNopInsertion = false; | 451 OutFlags.RandomNopInsertion = false; |
449 OutFlags.RandomRegAlloc = false; | 452 OutFlags.RandomRegAlloc = false; |
450 OutFlags.RepeatRegAlloc = false; | 453 OutFlags.RepeatRegAlloc = false; |
451 OutFlags.ReorderBasicBlocks = false; | 454 OutFlags.ReorderBasicBlocks = false; |
452 OutFlags.ReorderFunctions = false; | 455 OutFlags.ReorderFunctions = false; |
453 OutFlags.ReorderGlobalVariables = false; | 456 OutFlags.ReorderGlobalVariables = false; |
454 OutFlags.ReorderPooledConstants = false; | 457 OutFlags.ReorderPooledConstants = false; |
455 OutFlags.SkipUnimplemented = false; | 458 OutFlags.SkipUnimplemented = false; |
456 OutFlags.SubzeroTimingEnabled = false; | 459 OutFlags.SubzeroTimingEnabled = false; |
457 OutFlags.TimeEachFunction = false; | 460 OutFlags.TimeEachFunction = false; |
| 461 OutFlags.UseNonsfi = false; |
458 OutFlags.UseSandboxing = false; | 462 OutFlags.UseSandboxing = false; |
459 // Enum and integer fields. | 463 // Enum and integer fields. |
460 OutFlags.Opt = Opt_m1; | 464 OutFlags.Opt = Opt_m1; |
461 OutFlags.OutFileType = FT_Iasm; | 465 OutFlags.OutFileType = FT_Iasm; |
462 OutFlags.RandomMaxNopsPerInstruction = 0; | 466 OutFlags.RandomMaxNopsPerInstruction = 0; |
463 OutFlags.RandomNopProbabilityAsPercentage = 0; | 467 OutFlags.RandomNopProbabilityAsPercentage = 0; |
464 OutFlags.RandomizeAndPoolImmediatesOption = RPI_None; | 468 OutFlags.RandomizeAndPoolImmediatesOption = RPI_None; |
465 OutFlags.RandomizeAndPoolImmediatesThreshold = 0xffff; | 469 OutFlags.RandomizeAndPoolImmediatesThreshold = 0xffff; |
466 OutFlags.ReorderFunctionsWindowSize = 8; | 470 OutFlags.ReorderFunctionsWindowSize = 8; |
467 OutFlags.TArch = TargetArch_NUM; | 471 OutFlags.TArch = TargetArch_NUM; |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
524 OutFlags.setShouldReorderPooledConstants(::ReorderPooledConstants); | 528 OutFlags.setShouldReorderPooledConstants(::ReorderPooledConstants); |
525 OutFlags.setSkipUnimplemented(::SkipUnimplemented); | 529 OutFlags.setSkipUnimplemented(::SkipUnimplemented); |
526 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled); | 530 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled); |
527 OutFlags.setTargetArch(::TargetArch); | 531 OutFlags.setTargetArch(::TargetArch); |
528 OutFlags.setTargetInstructionSet(::TargetInstructionSet); | 532 OutFlags.setTargetInstructionSet(::TargetInstructionSet); |
529 OutFlags.setTestPrefix(::TestPrefix); | 533 OutFlags.setTestPrefix(::TestPrefix); |
530 OutFlags.setTestStackExtra(::TestStackExtra); | 534 OutFlags.setTestStackExtra(::TestStackExtra); |
531 OutFlags.setTimeEachFunction(::TimeEachFunction); | 535 OutFlags.setTimeEachFunction(::TimeEachFunction); |
532 OutFlags.setTimingFocusOn(::TimingFocusOn); | 536 OutFlags.setTimingFocusOn(::TimingFocusOn); |
533 OutFlags.setTranslateOnly(::TranslateOnly); | 537 OutFlags.setTranslateOnly(::TranslateOnly); |
| 538 OutFlags.setUseNonsfi(::UseNonsfi); |
534 OutFlags.setUseSandboxing(::UseSandboxing); | 539 OutFlags.setUseSandboxing(::UseSandboxing); |
535 OutFlags.setVerboseFocusOn(::VerboseFocusOn); | 540 OutFlags.setVerboseFocusOn(::VerboseFocusOn); |
536 OutFlags.setOutFileType(::OutFileType); | 541 OutFlags.setOutFileType(::OutFileType); |
537 OutFlags.setMaxNopsPerInstruction(::MaxNopsPerInstruction); | 542 OutFlags.setMaxNopsPerInstruction(::MaxNopsPerInstruction); |
538 OutFlags.setNopProbabilityAsPercentage(::NopProbabilityAsPercentage); | 543 OutFlags.setNopProbabilityAsPercentage(::NopProbabilityAsPercentage); |
539 OutFlags.setVerbose(VMask); | 544 OutFlags.setVerbose(VMask); |
540 } | 545 } |
541 | 546 |
542 void ClFlags::getParsedClFlagsExtra(ClFlagsExtra &OutFlagsExtra) { | 547 void ClFlags::getParsedClFlagsExtra(ClFlagsExtra &OutFlagsExtra) { |
543 OutFlagsExtra.setAlwaysExitSuccess(AlwaysExitSuccess); | 548 OutFlagsExtra.setAlwaysExitSuccess(AlwaysExitSuccess); |
544 OutFlagsExtra.setBitcodeAsText(BitcodeAsText); | 549 OutFlagsExtra.setBitcodeAsText(BitcodeAsText); |
545 OutFlagsExtra.setBuildOnRead(BuildOnRead); | 550 OutFlagsExtra.setBuildOnRead(BuildOnRead); |
546 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); | 551 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); |
547 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); | 552 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); |
548 OutFlagsExtra.setAppName(AppName); | 553 OutFlagsExtra.setAppName(AppName); |
549 OutFlagsExtra.setInputFileFormat(InputFileFormat); | 554 OutFlagsExtra.setInputFileFormat(InputFileFormat); |
550 OutFlagsExtra.setIRFilename(IRFilename); | 555 OutFlagsExtra.setIRFilename(IRFilename); |
551 OutFlagsExtra.setLogFilename(LogFilename); | 556 OutFlagsExtra.setLogFilename(LogFilename); |
552 OutFlagsExtra.setOutputFilename(OutputFilename); | 557 OutFlagsExtra.setOutputFilename(OutputFilename); |
553 } | 558 } |
554 | 559 |
555 } // end of namespace Ice | 560 } // end of namespace Ice |
OLD | NEW |