brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.6 KiB · 9915aef Raw
120 lines · plain
1// We try to create options similar to lld's.  That way, options passed to clang2// -Xoffload-linker can be the same whether offloading to nvptx or amdgpu.3 4include "llvm/Option/OptParser.td"5 6def WrapperOnlyOption : OptionFlag;7 8def help : Flag<["-", "--"], "help">,9  HelpText<"Display available options (--help-hidden for more)">;10 11def help_hidden : Flag<["-", "--"], "help-hidden">,12  HelpText<"Display all available options">;13 14def verbose : Flag<["-"], "v">, HelpText<"Print verbose information">;15def version : Flag<["--"], "version">,16  HelpText<"Display the version number and exit">;17 18def cuda_path_EQ : Joined<["--"], "cuda-path=">, Flags<[WrapperOnlyOption]>,19  MetaVarName<"<dir>">, HelpText<"Set the system CUDA path">;20def ptxas_path_EQ : Joined<["--"], "ptxas-path=">, Flags<[WrapperOnlyOption]>,21  MetaVarName<"<dir>">, HelpText<"Set the 'ptxas' path">;22 23def o : JoinedOrSeparate<["-"], "o">, MetaVarName<"<path>">,24  HelpText<"Path to file to write output">;25def output : Separate<["--"], "output-file">, Alias<o>, Flags<[HelpHidden]>,26  HelpText<"Alias for -o">;27 28def library_path : JoinedOrSeparate<["-"], "L">, MetaVarName<"<dir>">,29  HelpText<"Add <dir> to the library search path">;30def library_path_S : Separate<["--", "-"], "library-path">, Flags<[HelpHidden]>,31  Alias<library_path>;32def library_path_EQ : Joined<["--", "-"], "library-path=">, Flags<[HelpHidden]>,33  Alias<library_path>;34 35def library : JoinedOrSeparate<["-"], "l">, MetaVarName<"<libname>">,36  HelpText<"Search for library <libname>">;37def library_S : Separate<["--", "-"], "library">, Flags<[HelpHidden]>,38  Alias<library_path>;39def library_EQ : Joined<["--", "-"], "library=">, Flags<[HelpHidden]>,40  Alias<library_path>;41 42def plugin : JoinedOrSeparate<["--", "-"], "plugin">,43  Flags<[HelpHidden, WrapperOnlyOption]>;44 45def arch : Separate<["--", "-"], "arch">,46  HelpText<"Specify the 'sm_' name of the target architecture">;47def : Joined<["--", "-"], "plugin-opt=mcpu=">,48  Flags<[HelpHidden, WrapperOnlyOption]>, Alias<arch>;49 50def g : Flag<["-"], "g">, HelpText<"Specify that this was a debug compile">;51def debug : Flag<["--"], "debug">, Alias<g>;52 53def lto_emit_llvm : Flag<["--"], "lto-emit-llvm">, Flags<[WrapperOnlyOption]>,54  HelpText<"Emit LLVM-IR bitcode">;55def lto_emit_asm : Flag<["--"], "lto-emit-asm">, Flags<[WrapperOnlyOption]>,56  HelpText<"Emit assembly code">;57 58def u : JoinedOrSeparate<["-"], "u">, HelpText<"Force undefined symbol during linking">;59def undefined : JoinedOrSeparate<["--"], "undefined">, Alias<u>;60 61def O : Joined<["--", "-"], "plugin-opt=O">,62  Flags<[WrapperOnlyOption]>, MetaVarName<"<O0, O1, O2, or O3>">,63  HelpText<"Optimization level for LTO">;64 65def thinlto : Joined<["--", "-"], "plugin-opt=thinlto">,66  Flags<[WrapperOnlyOption]>, HelpText<"Enable the thin-lto backend">;67def lto_partitions : Joined<["--", "-"], "plugin-opt=lto-partitions=">,68  Flags<[WrapperOnlyOption]>, HelpText<"Number of LTO codegen partitions">;69def jobs : Joined<["--", "-"], "plugin-opt=jobs=">,70  Flags<[WrapperOnlyOption]>, HelpText<"Number of LTO codegen partitions">;71def : Joined<["--", "-"], "plugin-opt=emit-llvm">,72  Flags<[WrapperOnlyOption]>, Alias<lto_emit_llvm>;73def : Joined<["--", "-"], "plugin-opt=emit-asm">,74  Flags<[WrapperOnlyOption]>, Alias<lto_emit_asm>;75 76def opt_remarks_filename : Joined<["--", "-"], "plugin-opt=opt-remarks-filename=">,77  Flags<[WrapperOnlyOption]>, HelpText<"YAML output file for optimization remarks">;78def opt_remarks_format : Joined<["--", "-"], "plugin-opt=opt-remarks-format=">,79  Flags<[WrapperOnlyOption]>, HelpText<"The format used for serializing remarks (default: YAML)">;80def opt_remarks_filter : Joined<["--", "-"], "plugin-opt=opt-remarks-filter=">, 81  Flags<[WrapperOnlyOption]>, HelpText<"Regex for the passes that need to be serialized to the output file">;82def opt_remarks_with_hotness : Flag<["--", "-"], "plugin-opt=opt-remarks-with-hotness">,83  Flags<[WrapperOnlyOption]>, HelpText<"Include hotness information in the optimization remarks file">;84 85def plugin_opt : Joined<["--", "-"], "plugin-opt=">, Flags<[WrapperOnlyOption]>,86  HelpText<"Options passed to LLVM, not including the Clang invocation. Use "87           "'--plugin-opt=--help' for a list of options.">;88 89def lto_newpm_passes : Joined<["--"], "lto-newpm-passes=">,90  Flags<[WrapperOnlyOption]>, HelpText<"Passes to run during LTO">;91def lto_debug_pass_manager : Flag<["--"], "lto-debug-pass-manager">,92  Flags<[WrapperOnlyOption]>,   HelpText<"Debug new pass manager">;93 94def save_temps : Flag<["--", "-"], "save-temps">,95  Flags<[WrapperOnlyOption]>, HelpText<"Save intermediate results">;96 97def relocatable : Flag<["--", "-"], "relocatable">,98  Flags<[WrapperOnlyOption]>, HelpText<"Perform a relocatable link (LTO only)">;99def r : Flag<["-"], "r">, Flags<[WrapperOnlyOption]>, Alias<relocatable>;100 101def whole_archive : Flag<["--", "-"], "whole-archive">,102  Flags<[WrapperOnlyOption, HelpHidden]>;103def no_whole_archive : Flag<["--", "-"], "no-whole-archive">,104  Flags<[WrapperOnlyOption, HelpHidden]>;105 106def mllvm : Separate<["-"], "mllvm">, Flags<[WrapperOnlyOption]>,107  MetaVarName<"<arg>">,108  HelpText<"Arguments passed to LLVM, including Clang invocations, for which "109           "the '-mllvm' prefix is preserved. Use '-mllvm --help' for a list "110           "of options.">;111def mllvm_EQ : Joined<["-"], "mllvm=">, Flags<[HelpHidden]>, Alias<mllvm>;112 113def dry_run : Flag<["--", "-"], "dry-run">, Flags<[WrapperOnlyOption]>,114  HelpText<"Print generated commands without running.">;115def assume_device_object116    : Flag<["--", "-"], "assume-device-object">,117      Flags<[WrapperOnlyOption]>,118      HelpText<119          "Assume objects have device object files, only in dry-run mode.">;120