xref: /llvm-project/llvm/tools/llvm-ml/Opts.td (revision 310b0a1cf39aaf25a8fb5c88afc3a47a5776cec2)
18fee2ee9SEric Astorinclude "llvm/Option/OptParser.td"
28fee2ee9SEric Astor
38fee2ee9SEric Astor// For LLVM-specific options, we prefer a two-dash prefix, but accept one for
48fee2ee9SEric Astor// compatibility with llvm-mc. For clear separation from ML.EXE compatible
58fee2ee9SEric Astor// options, slash is not accepted.
68fee2ee9SEric Astorclass LLVMFlag<string name> : Flag<["--", "-"], name>;
78fee2ee9SEric Astorclass LLVMJoined<string name> : Joined<["--", "-"], name>;
88fee2ee9SEric Astorclass LLVMJoinedOrSeparate<string name> : JoinedOrSeparate<["--", "-"], name>;
98fee2ee9SEric Astorclass LLVMSeparate<string name> : Separate<["--", "-"], name>;
1082ecf9a0SEric Astorclass LLVMCommaJoined<string name> : CommaJoined<["--", "-"], name>;
118fee2ee9SEric Astor
128fee2ee9SEric Astordef ml_Group : OptionGroup<"<ml options>">,
138fee2ee9SEric Astor               HelpText<"ML.EXE COMPATIBILITY OPTIONS">;
148fee2ee9SEric Astorclass MLFlag<string name> : Flag<["/", "-"], name>, Group<ml_Group>;
158fee2ee9SEric Astorclass MLJoined<string name> : Joined<["/", "-"], name>, Group<ml_Group>;
168fee2ee9SEric Astorclass MLJoinedOrSeparate<string name> : JoinedOrSeparate<["/", "-"], name>,
178fee2ee9SEric Astor                                        Group<ml_Group>;
188fee2ee9SEric Astorclass MLSeparate<string name> : Separate<["/", "-"], name>, Group<ml_Group>;
198fee2ee9SEric Astor
208fee2ee9SEric Astordef unsupported_Group : OptionGroup<"unsupported">, Flags<[HelpHidden]>,
218fee2ee9SEric Astor                        HelpText<"UNSUPPORTED ML.EXE COMPATIBILITY OPTIONS">;
228fee2ee9SEric Astorclass UnsupportedFlag<string name> : Flag<["/", "-"], name>,
238fee2ee9SEric Astor                                     Group<unsupported_Group>;
248fee2ee9SEric Astorclass UnsupportedJoined<string name> : Joined<["/", "-"], name>,
258fee2ee9SEric Astor                                       Group<unsupported_Group>;
268fee2ee9SEric Astorclass UnsupportedJoinedOrSeparate<string name> :
278fee2ee9SEric Astor        JoinedOrSeparate<["/", "-"], name>, Group<unsupported_Group>;
288fee2ee9SEric Astorclass UnsupportedSeparate<string name> : Separate<["/", "-"], name>,
298fee2ee9SEric Astor                                         Group<unsupported_Group>;
308fee2ee9SEric Astor
318fee2ee9SEric Astordef bitness : LLVMJoined<"m">, Values<"32,64">,
328fee2ee9SEric Astor              HelpText<"Target platform (x86 or x86-64)">;
338fee2ee9SEric Astordef as_lex : LLVMFlag<"as-lex">,
34ae38e488SAlan Zhao             HelpText<"Lex tokens from a file without assembling">;
3582ecf9a0SEric Astordef debug : LLVMFlag<"debug">, Flags<[HelpHidden]>,
3682ecf9a0SEric Astor            HelpText<"Enable debug output">;
3782ecf9a0SEric Astordef debug_only : LLVMCommaJoined<"debug-only=">, Flags<[HelpHidden]>,
3882ecf9a0SEric Astor                 HelpText<"Enable a specific type of debug output (comma "
3982ecf9a0SEric Astor                          "separated list of types)">;
400499a9d6SEric Astordef fatal_warnings : LLVMFlag<"fatal-warnings">,
410499a9d6SEric Astor                     HelpText<"Treat warnings as errors">;
428fee2ee9SEric Astordef filetype : LLVMJoined<"filetype=">, Values<"obj,s,null">,
438fee2ee9SEric Astor               HelpText<"Emit a file with the given type">;
448fee2ee9SEric Astordef output_att_asm : LLVMFlag<"output-att-asm">,
458fee2ee9SEric Astor                     HelpText<"Use ATT syntax for output assembly">;
468fee2ee9SEric Astordef show_encoding : LLVMFlag<"show-encoding">,
478fee2ee9SEric Astor                    HelpText<"Show instruction encodings in output assembly">;
488fee2ee9SEric Astordef show_inst : LLVMFlag<"show-inst">,
498fee2ee9SEric Astor                HelpText<"Show internal instruction representation in output "
508fee2ee9SEric Astor                         "assembly">;
518fee2ee9SEric Astordef show_inst_operands : LLVMFlag<"show-inst-operands">,
528fee2ee9SEric Astor                         HelpText<"Show instructions operands as parsed">;
538fee2ee9SEric Astordef print_imm_hex : LLVMFlag<"print-imm-hex">,
548fee2ee9SEric Astor                    HelpText<"Prefer hex format for immediate values in output "
558fee2ee9SEric Astor                             "assembly">;
568fee2ee9SEric Astordef preserve_comments : LLVMFlag<"preserve-comments">,
578fee2ee9SEric Astor                        HelpText<"Preserve comments in output assembly">;
588fee2ee9SEric Astordef save_temp_labels : LLVMFlag<"save-temp-labels">,
598fee2ee9SEric Astor                       HelpText<"Don't discard temporary labels">;
605fba6058SEric Astordef timestamp : LLVMJoined<"timestamp=">,
615fba6058SEric Astor                HelpText<"Specify the assembly timestamp (used for @Date and "
625fba6058SEric Astor                         "@Time built-ins)">;
635fba6058SEric Astordef utc : LLVMFlag<"utc">,
645fba6058SEric Astor          HelpText<"Render @Date and @Time built-ins in GMT/UTC">;
655fba6058SEric Astordef gmtime : LLVMFlag<"gmtime">, Alias<utc>;
668fee2ee9SEric Astor
671236dbc2SEric Astordef help : MLFlag<"?">,
681236dbc2SEric Astor           HelpText<"Display available options">;
691236dbc2SEric Astordef help_long : MLFlag<"help">, Alias<help>;
701236dbc2SEric Astordef assemble_only : MLFlag<"c">, HelpText<"Assemble only; do not link">;
711236dbc2SEric Astordef define : MLJoinedOrSeparate<"D">, MetaVarName<"<macro>=<value>">,
721236dbc2SEric Astor             HelpText<"Define <macro> to <value> (or blank if <value> "
731236dbc2SEric Astor                      "omitted)">;
74912551dcSAlan Zhaodef no_logo : MLFlag<"nologo">, HelpText<"">;
75*310b0a1cSMatt Bolithodef quiet : MLFlag<"quiet">, HelpText<"">;
761236dbc2SEric Astordef output_file : MLJoinedOrSeparate<"Fo">, HelpText<"Names the output file">;
771236dbc2SEric Astordef include_path : MLJoinedOrSeparate<"I">,
781236dbc2SEric Astor                   HelpText<"Sets path for include files">;
791236dbc2SEric Astordef safeseh : MLFlag<"safeseh">,
801236dbc2SEric Astor              HelpText<"Mark resulting object files as either containing no "
811236dbc2SEric Astor                       "exception handlers or containing exception handlers "
821236dbc2SEric Astor                       "that are all declared with .SAFESEH. Only available in "
831236dbc2SEric Astor                       "32-bit.">;
841236dbc2SEric Astordef assembly_file : MLJoinedOrSeparate<"Ta">,
85ae38e488SAlan Zhao                    HelpText<"Assemble source file with the given name. Used "
86ae38e488SAlan Zhao                             "if the filename begins with a forward slash.">;
870499a9d6SEric Astordef error_on_warning : MLFlag<"WX">, Alias<fatal_warnings>;
881236dbc2SEric Astordef parse_only : MLFlag<"Zs">, HelpText<"Run a syntax-check only">,
891236dbc2SEric Astor                 Alias<filetype>, AliasArgs<["null"]>;
904b5317e9SEric Astordef ignore_include_envvar : MLFlag<"X">,
914b5317e9SEric Astor                            HelpText<"Ignore the INCLUDE environment variable">;
921236dbc2SEric Astor
938fee2ee9SEric Astordef tiny_model_support : UnsupportedFlag<"AT">, HelpText<"">;
948fee2ee9SEric Astordef alternate_linker : UnsupportedJoined<"Bl">, HelpText<"">;
958fee2ee9SEric Astordef coff_object_file : UnsupportedFlag<"coff">, HelpText<"">;
968fee2ee9SEric Astordef preserve_identifier_case : UnsupportedFlag<"Cp">, HelpText<"">;
978fee2ee9SEric Astordef uppercase_identifiers : UnsupportedFlag<"Cu">, HelpText<"">;
988fee2ee9SEric Astordef preserve_extern_case : UnsupportedFlag<"Cx">, HelpText<"">;
998fee2ee9SEric Astordef output_preprocessed : UnsupportedFlag<"EP">, HelpText<"">;
1008fee2ee9SEric Astordef errorreport : UnsupportedJoined<"ERRORREPORT">, HelpText<"">;
1018fee2ee9SEric Astordef stacksize : UnsupportedSeparate<"F">, HelpText<"">;
1028fee2ee9SEric Astordef executable_file : UnsupportedSeparate<"Fe">, HelpText<"">;
1038fee2ee9SEric Astordef code_listing_file : UnsupportedJoined<"FI">, HelpText<"">;
1048fee2ee9SEric Astordef linker_map_file : UnsupportedJoined<"Fm">, HelpText<"">;
1058fee2ee9SEric Astordef fp_emulator_fixups : UnsupportedFlag<"FPi">, HelpText<"">;
1068fee2ee9SEric Astordef source_browser_file : UnsupportedJoined<"Fr">, HelpText<"">;
1078fee2ee9SEric Astordef extended_source_browser_file : UnsupportedJoined<"FR">, HelpText<"">;
1088fee2ee9SEric Astordef pascal_conventions : UnsupportedFlag<"Gc">, HelpText<"">;
1098fee2ee9SEric Astordef c_conventions : UnsupportedFlag<"Gd">, HelpText<"">;
1108fee2ee9SEric Astordef stdcall_conventions : UnsupportedFlag<"GZ">, HelpText<"">;
1118fee2ee9SEric Astordef extern_name_limit : UnsupportedSeparate<"H">, HelpText<"">;
1128fee2ee9SEric Astordef omf_object_file : UnsupportedFlag<"omf">, HelpText<"">;
1138fee2ee9SEric Astordef full_listing : UnsupportedFlag<"Sa">, HelpText<"">;
1148fee2ee9SEric Astordef first_pass_listing : UnsupportedFlag<"Sf">, HelpText<"">;
1158fee2ee9SEric Astordef listing_width : UnsupportedSeparate<"SI">, HelpText<"">;
1168fee2ee9SEric Astordef listing_without_symbols : UnsupportedFlag<"Sn">, HelpText<"">;
1178fee2ee9SEric Astordef listing_page_length : UnsupportedSeparate<"Sp">, HelpText<"">;
1188fee2ee9SEric Astordef listing_subtitle : UnsupportedSeparate<"Ss">, HelpText<"">;
1198fee2ee9SEric Astordef listing_title : UnsupportedSeparate<"St">, HelpText<"">;
1208fee2ee9SEric Astordef listing_false_conditionals : UnsupportedFlag<"Sx">, HelpText<"">;
1218fee2ee9SEric Astordef extra_warnings : UnsupportedFlag<"w">, HelpText<"">;
1228fee2ee9SEric Astordef warning_level : UnsupportedJoined<"W">, HelpText<"">;
1238fee2ee9SEric Astordef line_number_info : UnsupportedFlag<"Zd">, HelpText<"">;
1248fee2ee9SEric Astordef export_all_symbols : UnsupportedFlag<"Zf">, HelpText<"">;
1258fee2ee9SEric Astordef codeview_info : UnsupportedFlag<"Zi">, HelpText<"">;
1268fee2ee9SEric Astordef enable_m510_option : UnsupportedFlag<"Zm">, HelpText<"">;
1278fee2ee9SEric Astordef structure_packing : UnsupportedJoined<"Zp">, HelpText<"">;
128