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

Side by Side Diff: src/IceClFlags.cpp

Issue 1387963002: Make sure that all globals are internal, except for "start" functions. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix new tests. Created 5 years, 2 months 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
« no previous file with comments | « src/IceClFlags.h ('k') | src/IceConverter.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 16 matching lines...) Expand all
27 27
28 // Options which are captured in Ice::ClFlags and propagated. 28 // Options which are captured in Ice::ClFlags and propagated.
29 29
30 namespace { 30 namespace {
31 31
32 cl::opt<bool> AllowErrorRecovery( 32 cl::opt<bool> AllowErrorRecovery(
33 "allow-pnacl-reader-error-recovery", 33 "allow-pnacl-reader-error-recovery",
34 cl::desc("Allow error recovery when reading PNaCl bitcode."), 34 cl::desc("Allow error recovery when reading PNaCl bitcode."),
35 cl::init(false)); 35 cl::init(false));
36 36
37 cl::opt<bool> AllowExternDefinedSymbols(
38 "allow-externally-defined-symbols",
39 cl::desc("Allow global symbols to be externally defined (other than _start "
40 "and __pnacl_pso_root)."),
41 cl::init(false));
42
37 cl::opt<bool> AllowIacaMarks( 43 cl::opt<bool> AllowIacaMarks(
38 "allow-iaca-marks", 44 "allow-iaca-marks",
39 cl::desc("Allow IACA (Intel Architecture Code Analyzer) marks to be " 45 cl::desc("Allow IACA (Intel Architecture Code Analyzer) marks to be "
40 "inserted. These binaries are not executable."), 46 "inserted. These binaries are not executable."),
41 cl::init(false)); 47 cl::init(false));
42 48
43 // This is currently needed by crosstest.py. 49 // This is currently needed by crosstest.py.
44 cl::opt<bool> AllowUninitializedGlobals( 50 cl::opt<bool> AllowUninitializedGlobals(
45 "allow-uninitialized-globals", 51 "allow-uninitialized-globals",
46 cl::desc("Allow global variables to be uninitialized")); 52 cl::desc("Allow global variables to be uninitialized"));
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 namespace Ice { 359 namespace Ice {
354 360
355 void ClFlags::parseFlags(int argc, char **argv) { 361 void ClFlags::parseFlags(int argc, char **argv) {
356 cl::ParseCommandLineOptions(argc, argv); 362 cl::ParseCommandLineOptions(argc, argv);
357 AppName = IceString(argv[0]); 363 AppName = IceString(argv[0]);
358 } 364 }
359 365
360 void ClFlags::resetClFlags(ClFlags &OutFlags) { 366 void ClFlags::resetClFlags(ClFlags &OutFlags) {
361 // bool fields 367 // bool fields
362 OutFlags.AllowErrorRecovery = false; 368 OutFlags.AllowErrorRecovery = false;
369 OutFlags.AllowExternDefinedSymbols = false;
363 OutFlags.AllowIacaMarks = false; 370 OutFlags.AllowIacaMarks = false;
364 OutFlags.AllowUninitializedGlobals = false; 371 OutFlags.AllowUninitializedGlobals = false;
365 OutFlags.DataSections = false; 372 OutFlags.DataSections = false;
366 OutFlags.DecorateAsm = false; 373 OutFlags.DecorateAsm = false;
367 OutFlags.DisableInternal = false; 374 OutFlags.DisableInternal = false;
368 OutFlags.DisableIRGeneration = false; 375 OutFlags.DisableIRGeneration = false;
369 OutFlags.DisableTranslation = false; 376 OutFlags.DisableTranslation = false;
370 OutFlags.DumpStats = false; 377 OutFlags.DumpStats = false;
371 OutFlags.EnableBlockProfile = false; 378 OutFlags.EnableBlockProfile = false;
372 OutFlags.ForceMemIntrinOpt = false; 379 OutFlags.ForceMemIntrinOpt = false;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 420
414 Ice::VerboseMask VMask = Ice::IceV_None; 421 Ice::VerboseMask VMask = Ice::IceV_None;
415 // Don't generate verbose messages if routines to dump messages are not 422 // Don't generate verbose messages if routines to dump messages are not
416 // available. 423 // available.
417 if (BuildDefs::dump()) { 424 if (BuildDefs::dump()) {
418 for (unsigned i = 0; i != VerboseList.size(); ++i) 425 for (unsigned i = 0; i != VerboseList.size(); ++i)
419 VMask |= VerboseList[i]; 426 VMask |= VerboseList[i];
420 } 427 }
421 428
422 OutFlags.setAllowErrorRecovery(::AllowErrorRecovery); 429 OutFlags.setAllowErrorRecovery(::AllowErrorRecovery);
430 OutFlags.setAllowExternDefinedSymbols(::AllowExternDefinedSymbols ||
431 ::DisableInternal);
423 OutFlags.setAllowIacaMarks(::AllowIacaMarks); 432 OutFlags.setAllowIacaMarks(::AllowIacaMarks);
424 OutFlags.setAllowUninitializedGlobals(::AllowUninitializedGlobals); 433 OutFlags.setAllowUninitializedGlobals(::AllowUninitializedGlobals);
425 OutFlags.setDataSections(::DataSections); 434 OutFlags.setDataSections(::DataSections);
426 OutFlags.setDecorateAsm(::DecorateAsm); 435 OutFlags.setDecorateAsm(::DecorateAsm);
427 OutFlags.setDefaultFunctionPrefix(::DefaultFunctionPrefix); 436 OutFlags.setDefaultFunctionPrefix(::DefaultFunctionPrefix);
428 OutFlags.setDefaultGlobalPrefix(::DefaultGlobalPrefix); 437 OutFlags.setDefaultGlobalPrefix(::DefaultGlobalPrefix);
429 OutFlags.setDisableInternal(::DisableInternal); 438 OutFlags.setDisableInternal(::DisableInternal);
430 OutFlags.setDisableIRGeneration(::DisableIRGeneration); 439 OutFlags.setDisableIRGeneration(::DisableIRGeneration);
431 OutFlags.setDisableTranslation(::DisableTranslation); 440 OutFlags.setDisableTranslation(::DisableTranslation);
432 OutFlags.setDumpStats(::DumpStats); 441 OutFlags.setDumpStats(::DumpStats);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); 482 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts);
474 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); 483 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors);
475 OutFlagsExtra.setAppName(AppName); 484 OutFlagsExtra.setAppName(AppName);
476 OutFlagsExtra.setInputFileFormat(InputFileFormat); 485 OutFlagsExtra.setInputFileFormat(InputFileFormat);
477 OutFlagsExtra.setIRFilename(IRFilename); 486 OutFlagsExtra.setIRFilename(IRFilename);
478 OutFlagsExtra.setLogFilename(LogFilename); 487 OutFlagsExtra.setLogFilename(LogFilename);
479 OutFlagsExtra.setOutputFilename(OutputFilename); 488 OutFlagsExtra.setOutputFilename(OutputFilename);
480 } 489 }
481 490
482 } // end of namespace Ice 491 } // end of namespace Ice
OLDNEW
« no previous file with comments | « src/IceClFlags.h ('k') | src/IceConverter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698