Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 //===- subzero/src/IceClFlags.def - Cl Flags for translation ----*- C++ -*-===// | 1 //===- subzero/src/IceClFlags.def - Cl Flags for translation ----*- C++ -*-===// |
| 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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 142 \ | 142 \ |
| 143 X(EnablePhiEdgeSplit, bool, dev_opt_flag, "phi-edge-split", \ | 143 X(EnablePhiEdgeSplit, bool, dev_opt_flag, "phi-edge-split", \ |
| 144 cl::desc("Enable edge splitting for Phi lowering"), cl::init(true)) \ | 144 cl::desc("Enable edge splitting for Phi lowering"), cl::init(true)) \ |
| 145 \ | 145 \ |
| 146 X(ExcludedRegisters, std::string, dev_list_flag, "reg-exclude", \ | 146 X(ExcludedRegisters, std::string, dev_list_flag, "reg-exclude", \ |
| 147 cl::CommaSeparated, cl::desc("Don't use specified registers")) \ | 147 cl::CommaSeparated, cl::desc("Don't use specified registers")) \ |
| 148 \ | 148 \ |
| 149 X(ForceMemIntrinOpt, bool, dev_opt_flag, "fmem-intrin-opt", \ | 149 X(ForceMemIntrinOpt, bool, dev_opt_flag, "fmem-intrin-opt", \ |
| 150 cl::desc("Force optimization of memory intrinsics.")) \ | 150 cl::desc("Force optimization of memory intrinsics.")) \ |
| 151 \ | 151 \ |
| 152 X(ForceO2String, std::string, dev_opt_flag, "force-O2", \ | |
| 153 cl::desc("Force -O2 for certain functions (assumes -Om1)"), cl::init("")) \ | |
|
Eric Holk
2016/04/18 18:51:49
Just to make sure I understand how to use this opt
Jim Stichnoth
2016/04/18 19:49:48
Right. At least in my experience, bisection debug
| |
| 154 \ | |
| 152 X(FunctionSections, bool, dev_opt_flag, "ffunction-sections", \ | 155 X(FunctionSections, bool, dev_opt_flag, "ffunction-sections", \ |
| 153 cl::desc("Emit functions into separate sections")) \ | 156 cl::desc("Emit functions into separate sections")) \ |
| 154 \ | 157 \ |
| 155 X(GenerateBuildAtts, bool, release_opt_flag, "build-atts", \ | 158 X(GenerateBuildAtts, bool, release_opt_flag, "build-atts", \ |
| 156 cl::desc("Generate list of build attributes associated with " \ | 159 cl::desc("Generate list of build attributes associated with " \ |
| 157 "this executable."), \ | 160 "this executable."), \ |
| 158 cl::init(false)) \ | 161 cl::init(false)) \ |
| 159 \ | 162 \ |
| 160 X(InputFileFormat, llvm::NaClFileFormat, dev_opt_flag, "bitcode-format", \ | 163 X(InputFileFormat, llvm::NaClFileFormat, dev_opt_flag, "bitcode-format", \ |
| 161 cl::desc("Define format of input file:"), \ | 164 cl::desc("Define format of input file:"), \ |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 275 \ | 278 \ |
| 276 X(TestPrefix, std::string, dev_opt_flag, "prefix", \ | 279 X(TestPrefix, std::string, dev_opt_flag, "prefix", \ |
| 277 cl::desc("Prepend a prefix to symbol names for testing"), cl::init(""), \ | 280 cl::desc("Prepend a prefix to symbol names for testing"), cl::init(""), \ |
| 278 cl::value_desc("prefix")) \ | 281 cl::value_desc("prefix")) \ |
| 279 \ | 282 \ |
| 280 X(TestStackExtra, uint32_t, dev_opt_flag, "test-stack-extra", \ | 283 X(TestStackExtra, uint32_t, dev_opt_flag, "test-stack-extra", \ |
| 281 cl::desc("Extra amount of stack to add to the " \ | 284 cl::desc("Extra amount of stack to add to the " \ |
| 282 "frame in bytes (for testing)."), \ | 285 "frame in bytes (for testing)."), \ |
| 283 cl::init(0)) \ | 286 cl::init(0)) \ |
| 284 \ | 287 \ |
| 288 X(TestStatusString, std::string, dev_opt_flag, "test-status", \ | |
| 289 cl::desc("Testing flag for -verbose=status"), cl::init(":")) \ | |
| 290 \ | |
| 285 X(TimeEachFunction, bool, dev_opt_flag, "timing-funcs", \ | 291 X(TimeEachFunction, bool, dev_opt_flag, "timing-funcs", \ |
| 286 cl::desc("Print total translation time for each function")) \ | 292 cl::desc("Print total translation time for each function")) \ |
| 287 \ | 293 \ |
| 288 X(TimingFocusOn, std::string, dev_opt_flag, "timing-focus", \ | 294 X(TimingFocusOnString, std::string, dev_opt_flag, "timing-focus", \ |
| 289 cl::desc("Break down timing for a specific function (use '*' for all)"), \ | 295 cl::desc("Break down timing for specific functions (use ':' for all)"), \ |
| 290 cl::init("")) \ | 296 cl::init("")) \ |
| 291 \ | 297 \ |
| 292 X(TranslateOnly, std::string, dev_opt_flag, "translate-only", \ | 298 X(TranslateOnlyString, std::string, dev_opt_flag, "translate-only", \ |
| 293 cl::desc("Translate only the given function"), cl::init("")) \ | 299 cl::desc("Translate only the given functions"), cl::init(":")) \ |
| 294 \ | 300 \ |
| 295 X(UseNonsfi, bool, dev_opt_flag, "nonsfi", cl::desc("Enable Non-SFI mode")) \ | 301 X(UseNonsfi, bool, dev_opt_flag, "nonsfi", cl::desc("Enable Non-SFI mode")) \ |
| 296 \ | 302 \ |
| 297 X(UseRestrictedRegisters, std::string, dev_list_flag, "reg-use", \ | 303 X(UseRestrictedRegisters, std::string, dev_list_flag, "reg-use", \ |
| 298 cl::CommaSeparated, \ | 304 cl::CommaSeparated, \ |
| 299 cl::desc("Only use specified registers for corresponding register " \ | 305 cl::desc("Only use specified registers for corresponding register " \ |
| 300 "classes")) \ | 306 "classes")) \ |
| 301 \ | 307 \ |
| 302 X(UseSandboxing, bool, dev_opt_flag, "sandbox", cl::desc("Use sandboxing")) \ | 308 X(UseSandboxing, bool, dev_opt_flag, "sandbox", cl::desc("Use sandboxing")) \ |
| 303 \ | 309 \ |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 328 clEnumValN(Ice::IceV_GlobalInit, "global_init", \ | 334 clEnumValN(Ice::IceV_GlobalInit, "global_init", \ |
| 329 "Global initializers"), \ | 335 "Global initializers"), \ |
| 330 clEnumValN(Ice::IceV_ConstPoolStats, "cpool", \ | 336 clEnumValN(Ice::IceV_ConstPoolStats, "cpool", \ |
| 331 "Constant pool counters"), \ | 337 "Constant pool counters"), \ |
| 332 clEnumValN(Ice::IceV_Wasm, "wasm", "WebAssembly builder"), \ | 338 clEnumValN(Ice::IceV_Wasm, "wasm", "WebAssembly builder"), \ |
| 333 clEnumValN(Ice::IceV_All, "all", "Use all verbose options"), \ | 339 clEnumValN(Ice::IceV_All, "all", "Use all verbose options"), \ |
| 334 clEnumValN(Ice::IceV_Most, "most", \ | 340 clEnumValN(Ice::IceV_Most, "most", \ |
| 335 "Use all verbose options except 'regalloc,global_init'"), \ | 341 "Use all verbose options except 'regalloc,global_init'"), \ |
| 336 clEnumValN(Ice::IceV_None, "none", "No verbosity"), clEnumValEnd)) \ | 342 clEnumValN(Ice::IceV_None, "none", "No verbosity"), clEnumValEnd)) \ |
| 337 \ | 343 \ |
| 338 X(VerboseFocusOn, std::string, dev_opt_flag, "verbose-focus", \ | 344 X(VerboseFocusOnString, std::string, dev_opt_flag, "verbose-focus", \ |
| 339 cl::desc("Override with -verbose=none except for the specified function"), \ | 345 cl::desc("Override with -verbose=none except for specified functions"), \ |
| 340 cl::init("")) | 346 cl::init(":")) |
| 341 //#define X(Name, Type, ClType, ...) | 347 //#define X(Name, Type, ClType, ...) |
| 342 | 348 |
| 343 } // end of namespace Ice | 349 } // end of namespace Ice |
| 344 | 350 |
| 345 #endif // SUBZERO_SRC_ICECLFLAGS_DEF | 351 #endif // SUBZERO_SRC_ICECLFLAGS_DEF |
| OLD | NEW |