Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: src/IceClFlags.cpp

Issue 1506653002: Subzero: Add Non-SFI support for x86-32. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fill in part of the lit test Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 213
214 cl::opt<std::string> TimingFocusOn( 214 cl::opt<std::string> TimingFocusOn(
215 "timing-focus", 215 "timing-focus",
216 cl::desc("Break down timing for a specific function (use '*' for all)"), 216 cl::desc("Break down timing for a specific function (use '*' for all)"),
217 cl::init("")); 217 cl::init(""));
218 218
219 cl::opt<std::string> 219 cl::opt<std::string>
220 TranslateOnly("translate-only", 220 TranslateOnly("translate-only",
221 cl::desc("Translate only the given function"), cl::init("")); 221 cl::desc("Translate only the given function"), cl::init(""));
222 222
223 cl::opt<bool> UseNonsfi("nonsfi", cl::desc("Enable Non-SFI mode"));
224
223 cl::opt<bool> UseSandboxing("sandbox", cl::desc("Use sandboxing")); 225 cl::opt<bool> UseSandboxing("sandbox", cl::desc("Use sandboxing"));
224 226
225 cl::opt<std::string> VerboseFocusOn( 227 cl::opt<std::string> VerboseFocusOn(
226 "verbose-focus", 228 "verbose-focus",
227 cl::desc("Override with -verbose=none except for the specified function"), 229 cl::desc("Override with -verbose=none except for the specified function"),
228 cl::init("")); 230 cl::init(""));
229 231
230 cl::opt<Ice::FileType> OutFileType( 232 cl::opt<Ice::FileType> OutFileType(
231 "filetype", cl::desc("Output file type"), cl::init(Ice::FT_Iasm), 233 "filetype", cl::desc("Output file type"), cl::init(Ice::FT_Iasm),
232 cl::values(clEnumValN(Ice::FT_Elf, "obj", "Native ELF object ('.o') file"), 234 cl::values(clEnumValN(Ice::FT_Elf, "obj", "Native ELF object ('.o') file"),
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 OutFlags.RandomNopInsertion = false; 401 OutFlags.RandomNopInsertion = false;
400 OutFlags.RandomRegAlloc = false; 402 OutFlags.RandomRegAlloc = false;
401 OutFlags.RepeatRegAlloc = false; 403 OutFlags.RepeatRegAlloc = false;
402 OutFlags.ReorderBasicBlocks = false; 404 OutFlags.ReorderBasicBlocks = false;
403 OutFlags.ReorderFunctions = false; 405 OutFlags.ReorderFunctions = false;
404 OutFlags.ReorderGlobalVariables = false; 406 OutFlags.ReorderGlobalVariables = false;
405 OutFlags.ReorderPooledConstants = false; 407 OutFlags.ReorderPooledConstants = false;
406 OutFlags.SkipUnimplemented = false; 408 OutFlags.SkipUnimplemented = false;
407 OutFlags.SubzeroTimingEnabled = false; 409 OutFlags.SubzeroTimingEnabled = false;
408 OutFlags.TimeEachFunction = false; 410 OutFlags.TimeEachFunction = false;
411 OutFlags.UseNonsfi = false;
409 OutFlags.UseSandboxing = false; 412 OutFlags.UseSandboxing = false;
410 // Enum and integer fields. 413 // Enum and integer fields.
411 OutFlags.Opt = Opt_m1; 414 OutFlags.Opt = Opt_m1;
412 OutFlags.OutFileType = FT_Iasm; 415 OutFlags.OutFileType = FT_Iasm;
413 OutFlags.RandomMaxNopsPerInstruction = 0; 416 OutFlags.RandomMaxNopsPerInstruction = 0;
414 OutFlags.RandomNopProbabilityAsPercentage = 0; 417 OutFlags.RandomNopProbabilityAsPercentage = 0;
415 OutFlags.RandomizeAndPoolImmediatesOption = RPI_None; 418 OutFlags.RandomizeAndPoolImmediatesOption = RPI_None;
416 OutFlags.RandomizeAndPoolImmediatesThreshold = 0xffff; 419 OutFlags.RandomizeAndPoolImmediatesThreshold = 0xffff;
417 OutFlags.ReorderFunctionsWindowSize = 8; 420 OutFlags.ReorderFunctionsWindowSize = 8;
418 OutFlags.TArch = TargetArch_NUM; 421 OutFlags.TArch = TargetArch_NUM;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 OutFlags.setShouldReorderPooledConstants(::ReorderPooledConstants); 478 OutFlags.setShouldReorderPooledConstants(::ReorderPooledConstants);
476 OutFlags.setSkipUnimplemented(::SkipUnimplemented); 479 OutFlags.setSkipUnimplemented(::SkipUnimplemented);
477 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled); 480 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled);
478 OutFlags.setTargetArch(::TargetArch); 481 OutFlags.setTargetArch(::TargetArch);
479 OutFlags.setTargetInstructionSet(::TargetInstructionSet); 482 OutFlags.setTargetInstructionSet(::TargetInstructionSet);
480 OutFlags.setTestPrefix(::TestPrefix); 483 OutFlags.setTestPrefix(::TestPrefix);
481 OutFlags.setTestStackExtra(::TestStackExtra); 484 OutFlags.setTestStackExtra(::TestStackExtra);
482 OutFlags.setTimeEachFunction(::TimeEachFunction); 485 OutFlags.setTimeEachFunction(::TimeEachFunction);
483 OutFlags.setTimingFocusOn(::TimingFocusOn); 486 OutFlags.setTimingFocusOn(::TimingFocusOn);
484 OutFlags.setTranslateOnly(::TranslateOnly); 487 OutFlags.setTranslateOnly(::TranslateOnly);
488 OutFlags.setUseNonsfi(::UseNonsfi);
485 OutFlags.setUseSandboxing(::UseSandboxing); 489 OutFlags.setUseSandboxing(::UseSandboxing);
486 OutFlags.setVerboseFocusOn(::VerboseFocusOn); 490 OutFlags.setVerboseFocusOn(::VerboseFocusOn);
487 OutFlags.setOutFileType(::OutFileType); 491 OutFlags.setOutFileType(::OutFileType);
488 OutFlags.setMaxNopsPerInstruction(::MaxNopsPerInstruction); 492 OutFlags.setMaxNopsPerInstruction(::MaxNopsPerInstruction);
489 OutFlags.setNopProbabilityAsPercentage(::NopProbabilityAsPercentage); 493 OutFlags.setNopProbabilityAsPercentage(::NopProbabilityAsPercentage);
490 OutFlags.setVerbose(VMask); 494 OutFlags.setVerbose(VMask);
491 } 495 }
492 496
493 void ClFlags::getParsedClFlagsExtra(ClFlagsExtra &OutFlagsExtra) { 497 void ClFlags::getParsedClFlagsExtra(ClFlagsExtra &OutFlagsExtra) {
494 OutFlagsExtra.setAlwaysExitSuccess(AlwaysExitSuccess); 498 OutFlagsExtra.setAlwaysExitSuccess(AlwaysExitSuccess);
495 OutFlagsExtra.setBitcodeAsText(BitcodeAsText); 499 OutFlagsExtra.setBitcodeAsText(BitcodeAsText);
496 OutFlagsExtra.setBuildOnRead(BuildOnRead); 500 OutFlagsExtra.setBuildOnRead(BuildOnRead);
497 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); 501 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts);
498 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); 502 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors);
499 OutFlagsExtra.setAppName(AppName); 503 OutFlagsExtra.setAppName(AppName);
500 OutFlagsExtra.setInputFileFormat(InputFileFormat); 504 OutFlagsExtra.setInputFileFormat(InputFileFormat);
501 OutFlagsExtra.setIRFilename(IRFilename); 505 OutFlagsExtra.setIRFilename(IRFilename);
502 OutFlagsExtra.setLogFilename(LogFilename); 506 OutFlagsExtra.setLogFilename(LogFilename);
503 OutFlagsExtra.setOutputFilename(OutputFilename); 507 OutFlagsExtra.setOutputFilename(OutputFilename);
504 } 508 }
505 509
506 } // end of namespace Ice 510 } // end of namespace Ice
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698