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 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 // Note: Modifiable only if ALLOW_DISABLE_IR_GEN. | 69 // Note: Modifiable only if ALLOW_DISABLE_IR_GEN. |
70 cl::opt<bool> DisableIRGeneration("no-ir-gen", | 70 cl::opt<bool> DisableIRGeneration("no-ir-gen", |
71 cl::desc("Disable generating Subzero IR.")); | 71 cl::desc("Disable generating Subzero IR.")); |
72 cl::opt<bool> DisableTranslation("notranslate", | 72 cl::opt<bool> DisableTranslation("notranslate", |
73 cl::desc("Disable Subzero translation")); | 73 cl::desc("Disable Subzero translation")); |
74 | 74 |
75 cl::opt<bool> | 75 cl::opt<bool> |
76 DumpStats("szstats", | 76 DumpStats("szstats", |
77 cl::desc("Print statistics after translating each function")); | 77 cl::desc("Print statistics after translating each function")); |
78 | 78 |
| 79 // TODO(stichnot): The implementation of block profiling introduces some |
| 80 // oddities to be aware of. First, empty basic blocks that don't normally |
| 81 // appear in the asm output, may be profiled anyway, so one might see profile |
| 82 // counts for blocks not in the original asm output. Second, edge-split nodes |
| 83 // for advanced phi lowering are added too late, at which point it is not |
| 84 // practical to add profiling. |
79 cl::opt<bool> EnableBlockProfile( | 85 cl::opt<bool> EnableBlockProfile( |
80 "enable-block-profile", | 86 "enable-block-profile", |
81 cl::desc("If true, instrument basic blocks, and output profiling " | 87 cl::desc("If true, instrument basic blocks, and output profiling " |
82 "information to stdout at the end of program execution."), | 88 "information to stdout at the end of program execution."), |
83 cl::init(false)); | 89 cl::init(false)); |
84 | 90 |
85 cl::opt<bool> | 91 cl::opt<bool> |
86 ForceMemIntrinOpt("fmem-intrin-opt", | 92 ForceMemIntrinOpt("fmem-intrin-opt", |
87 cl::desc("Force optimization of memory intrinsics.")); | 93 cl::desc("Force optimization of memory intrinsics.")); |
88 | 94 |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); | 469 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); |
464 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); | 470 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); |
465 OutFlagsExtra.setAppName(AppName); | 471 OutFlagsExtra.setAppName(AppName); |
466 OutFlagsExtra.setInputFileFormat(InputFileFormat); | 472 OutFlagsExtra.setInputFileFormat(InputFileFormat); |
467 OutFlagsExtra.setIRFilename(IRFilename); | 473 OutFlagsExtra.setIRFilename(IRFilename); |
468 OutFlagsExtra.setLogFilename(LogFilename); | 474 OutFlagsExtra.setLogFilename(LogFilename); |
469 OutFlagsExtra.setOutputFilename(OutputFilename); | 475 OutFlagsExtra.setOutputFilename(OutputFilename); |
470 } | 476 } |
471 | 477 |
472 } // end of namespace Ice | 478 } // end of namespace Ice |
OLD | NEW |