xref: /freebsd-src/contrib/llvm-project/llvm/tools/llvm-dwarfutil/Options.td (revision 7a6dacaca14b62ca4b74406814becb87a3fefac0)
1fcaf7f86SDimitry Andricinclude "llvm/Option/OptParser.td"
2fcaf7f86SDimitry Andric
3fcaf7f86SDimitry Andricmulticlass BB<string name, string help1, string help2> {
4fcaf7f86SDimitry Andric  def NAME: Flag<["--"], name>, HelpText<help1>;
5fcaf7f86SDimitry Andric  def no_ # NAME: Flag<["--"], "no-" # name>, HelpText<help2>;
6fcaf7f86SDimitry Andric}
7fcaf7f86SDimitry Andric
8bdd1243dSDimitry Andricdef build_accelerator: Separate<["--", "-"], "build-accelerator">,
9bdd1243dSDimitry Andric  MetaVarName<"[none,DWARF]">,
10bdd1243dSDimitry Andric  HelpText<"Build accelerator tables(default: none)\n"
11bdd1243dSDimitry Andric  "    =none - Do not build accelerators\n"
12bdd1243dSDimitry Andric  "    =DWARF - .debug_names are generated for all DWARF versions\n"
13bdd1243dSDimitry Andric  >;
14bdd1243dSDimitry Andricdef: Joined<["--", "-"], "build-accelerator=">, Alias<build_accelerator>;
15bdd1243dSDimitry Andric
16fcaf7f86SDimitry Andricdef help : Flag<["--"], "help">,
17fcaf7f86SDimitry Andric  HelpText<"Prints this help output">;
18fcaf7f86SDimitry Andric
19fcaf7f86SDimitry Andricdef h : Flag<["-"], "h">,
20fcaf7f86SDimitry Andric  Alias<help>,
21fcaf7f86SDimitry Andric  HelpText<"Alias for --help">;
22fcaf7f86SDimitry Andric
2306c3fb27SDimitry Andricdef linker: Separate<["--", "-"], "linker">,
2406c3fb27SDimitry Andric  MetaVarName<"<DWARF linker type>">,
25*7a6dacacSDimitry Andric  HelpText<"Specify the desired type of DWARF linker. Defaults to 'classic'">;
2606c3fb27SDimitry Andricdef: Joined<["--", "-"], "linker=">, Alias<linker>;
2706c3fb27SDimitry Andric
28fcaf7f86SDimitry Andricdefm odr_deduplication : BB<"odr-deduplication",
29fcaf7f86SDimitry Andric  "Do ODR deduplication for debug types(default)",
30fcaf7f86SDimitry Andric  "Don`t do ODR deduplication for debug types">;
31fcaf7f86SDimitry Andric
32fcaf7f86SDimitry Andricdef odr : Flag<["--"], "odr">,
33fcaf7f86SDimitry Andric  Alias<odr_deduplication>,
34fcaf7f86SDimitry Andric  HelpText<"Alias for --odr-deduplication">;
35fcaf7f86SDimitry Andric
36fcaf7f86SDimitry Andricdef no_odr : Flag<["--"], "no-odr">,
37fcaf7f86SDimitry Andric  Alias<no_odr_deduplication>,
38fcaf7f86SDimitry Andric  HelpText<"Alias for --no-odr-deduplication">;
39fcaf7f86SDimitry Andric
40fcaf7f86SDimitry Andricdefm garbage_collection : BB<"garbage-collection",
41fcaf7f86SDimitry Andric  "Do garbage collection for debug info(default)",
42fcaf7f86SDimitry Andric  "Don`t do garbage collection for debug info">;
43fcaf7f86SDimitry Andric
44fcaf7f86SDimitry Andricdefm separate_debug_file : BB<"separate-debug-file",
45fcaf7f86SDimitry Andric  "Create two output files: file w/o debug tables and file with debug tables",
46fcaf7f86SDimitry Andric  "Create single output file, containing debug tables(default)">;
47fcaf7f86SDimitry Andric
48fcaf7f86SDimitry Andricdef tombstone: Separate<["--", "-"], "tombstone">,
49fcaf7f86SDimitry Andric  MetaVarName<"[bfd,maxpc,exec,universal]">,
50fcaf7f86SDimitry Andric  HelpText<"Tombstone value used as a marker of invalid address(default: universal)\n"
51fcaf7f86SDimitry Andric  "    =bfd - Zero for all addresses and [1,1] for DWARF v4 (or less) address ranges and exec\n"
52fcaf7f86SDimitry Andric  "    =maxpc - Minus 1 for all addresses and minus 2 for DWARF v4 (or less) address ranges\n"
53fcaf7f86SDimitry Andric  "    =exec - Match with address ranges of executable sections\n"
54fcaf7f86SDimitry Andric  "    =universal - Both: bfd and maxpc"
55fcaf7f86SDimitry Andric  >;
56fcaf7f86SDimitry Andricdef: Joined<["--", "-"], "tombstone=">, Alias<tombstone>;
57fcaf7f86SDimitry Andric
58fcaf7f86SDimitry Andricdef threads: Separate<["--", "-"], "num-threads">,
59fcaf7f86SDimitry Andric  MetaVarName<"<threads>">,
60fcaf7f86SDimitry Andric  HelpText<"Number of available threads for multi-threaded execution. "
61fcaf7f86SDimitry Andric  "Defaults to the number of cores on the current machine">;
62fcaf7f86SDimitry Andric
63fcaf7f86SDimitry Andricdef: Separate<["-"], "j">,
64fcaf7f86SDimitry Andric  Alias<threads>,
65fcaf7f86SDimitry Andric  HelpText<"Alias for --num-threads">;
66fcaf7f86SDimitry Andric
67fcaf7f86SDimitry Andricdef verbose : Flag<["--"], "verbose">,
68fcaf7f86SDimitry Andric  HelpText<"Enable verbose logging">;
69fcaf7f86SDimitry Andric
70fcaf7f86SDimitry Andricdef verify : Flag<["--"], "verify">,
71fcaf7f86SDimitry Andric  HelpText<"Run the DWARF verifier on the resulting debug info">;
72fcaf7f86SDimitry Andric
73fcaf7f86SDimitry Andricdef version : Flag<["--"], "version">,
74fcaf7f86SDimitry Andric  HelpText<"Print the version and exit">;
75fcaf7f86SDimitry Andric
76fcaf7f86SDimitry Andricdef V : Flag<["-"], "V">,
77fcaf7f86SDimitry Andric  Alias<version>,
78fcaf7f86SDimitry Andric  HelpText<"Alias for --version">;
79