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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 cl::opt<bool> ShouldDoNopInsertion("nop-insertion", | 178 cl::opt<bool> ShouldDoNopInsertion("nop-insertion", |
179 cl::desc("Randomly insert NOPs"), | 179 cl::desc("Randomly insert NOPs"), |
180 cl::init(false)); | 180 cl::init(false)); |
181 | 181 |
182 /// Randomize register allocation. | 182 /// Randomize register allocation. |
183 cl::opt<bool> | 183 cl::opt<bool> |
184 RandomizeRegisterAllocation("randomize-regalloc", | 184 RandomizeRegisterAllocation("randomize-regalloc", |
185 cl::desc("Randomize register allocation"), | 185 cl::desc("Randomize register allocation"), |
186 cl::init(false)); | 186 cl::init(false)); |
187 | 187 |
| 188 /// Allow failsafe access to registers that were restricted via -reg-use or |
| 189 /// -reg-exclude. |
| 190 cl::opt<bool> |
| 191 RegAllocReserve("reg-reserve", |
| 192 cl::desc("Let register allocation use reserve registers"), |
| 193 cl::init(false)); |
| 194 |
188 /// Repeat register allocation until convergence. | 195 /// Repeat register allocation until convergence. |
189 cl::opt<bool> | 196 cl::opt<bool> |
190 RepeatRegAlloc("regalloc-repeat", | 197 RepeatRegAlloc("regalloc-repeat", |
191 cl::desc("Repeat register allocation until convergence"), | 198 cl::desc("Repeat register allocation until convergence"), |
192 cl::init(true)); | 199 cl::init(true)); |
193 | 200 |
194 /// Skip through unimplemented lowering code instead of aborting. | 201 /// Skip through unimplemented lowering code instead of aborting. |
195 cl::opt<bool> SkipUnimplemented( | 202 cl::opt<bool> SkipUnimplemented( |
196 "skip-unimplemented", | 203 "skip-unimplemented", |
197 cl::desc("Skip through unimplemented lowering code instead of aborting."), | 204 cl::desc("Skip through unimplemented lowering code instead of aborting."), |
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
538 OutFlags.setPhiEdgeSplit(::EnablePhiEdgeSplit); | 545 OutFlags.setPhiEdgeSplit(::EnablePhiEdgeSplit); |
539 OutFlags.setRandomSeed(::RandomSeed); | 546 OutFlags.setRandomSeed(::RandomSeed); |
540 OutFlags.setRandomizeAndPoolImmediatesOption( | 547 OutFlags.setRandomizeAndPoolImmediatesOption( |
541 ::RandomizeAndPoolImmediatesOption); | 548 ::RandomizeAndPoolImmediatesOption); |
542 OutFlags.setRandomizeAndPoolImmediatesThreshold( | 549 OutFlags.setRandomizeAndPoolImmediatesThreshold( |
543 ::RandomizeAndPoolImmediatesThreshold); | 550 ::RandomizeAndPoolImmediatesThreshold); |
544 OutFlags.setReorderFunctionsWindowSize(::ReorderFunctionsWindowSize); | 551 OutFlags.setReorderFunctionsWindowSize(::ReorderFunctionsWindowSize); |
545 OutFlags.setShouldReorderBasicBlocks(::ReorderBasicBlocks); | 552 OutFlags.setShouldReorderBasicBlocks(::ReorderBasicBlocks); |
546 OutFlags.setShouldDoNopInsertion(::ShouldDoNopInsertion); | 553 OutFlags.setShouldDoNopInsertion(::ShouldDoNopInsertion); |
547 OutFlags.setShouldRandomizeRegAlloc(::RandomizeRegisterAllocation); | 554 OutFlags.setShouldRandomizeRegAlloc(::RandomizeRegisterAllocation); |
| 555 OutFlags.setRegAllocReserve(::RegAllocReserve); |
548 OutFlags.setShouldRepeatRegAlloc(::RepeatRegAlloc); | 556 OutFlags.setShouldRepeatRegAlloc(::RepeatRegAlloc); |
549 OutFlags.setShouldReorderFunctions(::ReorderFunctions); | 557 OutFlags.setShouldReorderFunctions(::ReorderFunctions); |
550 OutFlags.setShouldReorderGlobalVariables(::ReorderGlobalVariables); | 558 OutFlags.setShouldReorderGlobalVariables(::ReorderGlobalVariables); |
551 OutFlags.setShouldReorderPooledConstants(::ReorderPooledConstants); | 559 OutFlags.setShouldReorderPooledConstants(::ReorderPooledConstants); |
552 OutFlags.setSkipUnimplemented(::SkipUnimplemented); | 560 OutFlags.setSkipUnimplemented(::SkipUnimplemented); |
553 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled); | 561 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled); |
554 OutFlags.setTargetArch(::TargetArch); | 562 OutFlags.setTargetArch(::TargetArch); |
555 OutFlags.setTargetInstructionSet(::TargetInstructionSet); | 563 OutFlags.setTargetInstructionSet(::TargetInstructionSet); |
556 OutFlags.setTestPrefix(::TestPrefix); | 564 OutFlags.setTestPrefix(::TestPrefix); |
557 OutFlags.setTestStackExtra(::TestStackExtra); | 565 OutFlags.setTestStackExtra(::TestStackExtra); |
(...skipping 17 matching lines...) Expand all Loading... |
575 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); | 583 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); |
576 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); | 584 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); |
577 OutFlagsExtra.setAppName(AppName); | 585 OutFlagsExtra.setAppName(AppName); |
578 OutFlagsExtra.setInputFileFormat(InputFileFormat); | 586 OutFlagsExtra.setInputFileFormat(InputFileFormat); |
579 OutFlagsExtra.setIRFilename(IRFilename); | 587 OutFlagsExtra.setIRFilename(IRFilename); |
580 OutFlagsExtra.setLogFilename(LogFilename); | 588 OutFlagsExtra.setLogFilename(LogFilename); |
581 OutFlagsExtra.setOutputFilename(OutputFilename); | 589 OutFlagsExtra.setOutputFilename(OutputFilename); |
582 } | 590 } |
583 | 591 |
584 } // end of namespace Ice | 592 } // end of namespace Ice |
OLD | NEW |