1 include "llvm/Option/OptParser.td"
3 multiclass BB<string name, string help1, string help2> {
4 def NAME: Flag<["--"], name>, HelpText<help1>;
5 def no_ # NAME: Flag<["--"], "no-" # name>, HelpText<help2>;
8 def build_accelerator: Separate<["--", "-"], "build-accelerator">,
9 MetaVarName<"[none,DWARF]">,
10 HelpText<"Build accelerator tables(default: none)\n"
11 " =none - Do not build accelerators\n"
12 " =DWARF - .debug_names are generated for all DWARF versions\n"
14 def: Joined<["--", "-"], "build-accelerator=">, Alias<build_accelerator>;
16 def help : Flag<["--"], "help">,
17 HelpText<"Prints this help output">;
19 def h : Flag<["-"], "h">,
21 HelpText<"Alias for --help">;
23 def linker: Separate<["--", "-"], "linker">,
24 MetaVarName<"<DWARF linker type>">,
25 HelpText<"Specify the desired type of DWARF linker. Defaults to 'apple'">;
26 def: Joined<["--", "-"], "linker=">, Alias<linker>;
28 defm odr_deduplication : BB<"odr-deduplication",
29 "Do ODR deduplication for debug types(default)",
30 "Don`t do ODR deduplication for debug types">;
32 def odr : Flag<["--"], "odr">,
33 Alias<odr_deduplication>,
34 HelpText<"Alias for --odr-deduplication">;
36 def no_odr : Flag<["--"], "no-odr">,
37 Alias<no_odr_deduplication>,
38 HelpText<"Alias for --no-odr-deduplication">;
40 defm garbage_collection : BB<"garbage-collection",
41 "Do garbage collection for debug info(default)",
42 "Don`t do garbage collection for debug info">;
44 defm separate_debug_file : BB<"separate-debug-file",
45 "Create two output files: file w/o debug tables and file with debug tables",
46 "Create single output file, containing debug tables(default)">;
48 def tombstone: Separate<["--", "-"], "tombstone">,
49 MetaVarName<"[bfd,maxpc,exec,universal]">,
50 HelpText<"Tombstone value used as a marker of invalid address(default: universal)\n"
51 " =bfd - Zero for all addresses and [1,1] for DWARF v4 (or less) address ranges and exec\n"
52 " =maxpc - Minus 1 for all addresses and minus 2 for DWARF v4 (or less) address ranges\n"
53 " =exec - Match with address ranges of executable sections\n"
54 " =universal - Both: bfd and maxpc"
56 def: Joined<["--", "-"], "tombstone=">, Alias<tombstone>;
58 def threads: Separate<["--", "-"], "num-threads">,
59 MetaVarName<"<threads>">,
60 HelpText<"Number of available threads for multi-threaded execution. "
61 "Defaults to the number of cores on the current machine">;
63 def: Separate<["-"], "j">,
65 HelpText<"Alias for --num-threads">;
67 def verbose : Flag<["--"], "verbose">,
68 HelpText<"Enable verbose logging">;
70 def verify : Flag<["--"], "verify">,
71 HelpText<"Run the DWARF verifier on the resulting debug info">;
73 def version : Flag<["--"], "version">,
74 HelpText<"Print the version and exit">;
76 def V : Flag<["-"], "V">,
78 HelpText<"Alias for --version">;