brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.5 KiB · ef3a16b Raw
140 lines · plain
1include "llvm/Option/OptParser.td"2 3def WrapperOnlyOption : OptionFlag;4def DeviceOnlyOption : OptionFlag;5 6def help : Flag<["--"], "help">,7  HelpText<"Display available options (--help-hidden for more)">;8 9def help_hidden : Flag<["--"], "help-hidden">,10  HelpText<"Display all available options">;11 12// Flags for the linker wrapper.13def linker_path_EQ : Joined<["--"], "linker-path=">,14  Flags<[WrapperOnlyOption]>, MetaVarName<"<path>">,15  HelpText<"The linker executable to invoke">;16def cuda_path_EQ : Joined<["--"], "cuda-path=">,17  Flags<[WrapperOnlyOption]>, MetaVarName<"<dir>">,18  HelpText<"Set the system CUDA path">;19def host_triple_EQ : Joined<["--"], "host-triple=">,20                     Flags<[WrapperOnlyOption]>,21                     MetaVarName<"<triple>">,22                     HelpText<"Triple to use for the host compilation">;23def device_linker_args_EQ : Joined<["--"], "device-linker=">,24  Flags<[WrapperOnlyOption]>, MetaVarName<"<value> or <triple>=<value>">,25  HelpText<"Arguments to pass to the device linker invocation">;26def device_compiler_args_EQ : Joined<["--"], "device-compiler=">,27  Flags<[WrapperOnlyOption]>, MetaVarName<"<value> or <triple>=<value>">,28  HelpText<"Arguments to pass to the device compiler invocation">;29def dry_run : Flag<["--"], "dry-run">,30  Flags<[WrapperOnlyOption]>,31  HelpText<"Print program arguments without running">;32def verbose : Flag<["--"], "wrapper-verbose">,33  Flags<[WrapperOnlyOption]>, HelpText<"Verbose output from tools">;34def embed_bitcode : Flag<["--"], "embed-bitcode">,35                    Flags<[WrapperOnlyOption]>,36                    HelpText<"Embed linked bitcode in the module">;37def print_wrapped_module : Flag<["--"], "print-wrapped-module">,38  Flags<[WrapperOnlyOption]>,39  HelpText<"Print the wrapped module's IR for testing">;40def save_temps : Flag<["--"], "save-temps">,41  Flags<[WrapperOnlyOption]>, HelpText<"Save intermediate results">;42def compress : Flag<["--"], "compress">,43  Flags<[WrapperOnlyOption]>, HelpText<"Compress bundled files">;44def compression_level_eq : Joined<["--"], "compression-level=">,45  Flags<[WrapperOnlyOption]>, HelpText<"Specify the compression level (integer)">;46 47def wrapper_time_trace_eq : Joined<["--"], "wrapper-time-trace=">,48  Flags<[WrapperOnlyOption]>, MetaVarName<"<file>">,49  HelpText<"Enable time-trace and write the output to <file>">;50def wrapper_time_trace_granularity : Joined<["--"], "wrapper-time-trace-granularity=">,51  Flags<[WrapperOnlyOption]>, MetaVarName<"<number>">,52  HelpText<"Set the granularity of time-trace updates">;53 54def wrapper_jobs : Joined<["--"], "wrapper-jobs=">,55  Flags<[WrapperOnlyOption]>, MetaVarName<"<number>">,56  HelpText<"Sets the number of parallel jobs for device linking. Can be a "57            "positive integer or 'jobserver'.">;58 59def override_image : Joined<["--"], "override-image=">,60  Flags<[WrapperOnlyOption]>, MetaVarName<"<kind=file>">,61  HelpText<"Uses the provided file as if it were the output of the device link step">;62 63def should_extract : CommaJoined<["--"], "should-extract=">,64  Flags<[WrapperOnlyOption]>, MetaVarName<"<kind=file>">,65  HelpText<"Set of device architectures we should always extract if found.">;66 67def emit_fatbin_only68    : Flag<["--"], "emit-fatbin-only">,69      Flags<[WrapperOnlyOption]>,70      HelpText<"Emit fat binary directly without wrapping or host linking">;71 72// Flags passed to the device linker.73def arch_EQ : Joined<["--"], "arch=">,74  Flags<[DeviceOnlyOption, HelpHidden]>, MetaVarName<"<arch>">,75  HelpText<"The device subarchitecture">;76def triple_EQ : Joined<["--"], "triple=">,77  Flags<[DeviceOnlyOption, HelpHidden]>, MetaVarName<"<triple>">,78  HelpText<"The device target triple">;79def whole_program : Flag<["--"], "whole-program">,80  Flags<[DeviceOnlyOption, HelpHidden]>,81  HelpText<"LTO has visibility of all input files">;82def linker_arg_EQ : Joined<["--"], "linker-arg=">,83  Flags<[DeviceOnlyOption, HelpHidden]>,84  HelpText<"An extra argument to be passed to the linker">;85def compiler_arg_EQ : Joined<["--"], "compiler-arg=">,86  Flags<[DeviceOnlyOption, HelpHidden]>,87  HelpText<"An extra argument to be passed to the compiler">;88 89// Arguments for the LLVM backend.90def mllvm : Separate<["-"], "mllvm">, Flags<[WrapperOnlyOption]>,91  MetaVarName<"<arg>">,92  HelpText<"Arguments passed to LLVM, including Clang invocations, for which "93           "the '-mllvm' prefix is preserved. Use '-mllvm --help' for a list "94           "of options.">;95def offload_opt_eq_minus : Joined<["--", "-"], "offload-opt=">, Flags<[HelpHidden, WrapperOnlyOption]>,96  HelpText<"Options passed to LLVM, not including the Clang invocation. Use "97           "'--offload-opt=--help' for a list of options.">;98 99// Standard linker flags also used by the linker wrapper.100def sysroot_EQ : Joined<["--"], "sysroot=">, HelpText<"Set the system root">;101 102def o : JoinedOrSeparate<["-"], "o">, MetaVarName<"<path>">,103  HelpText<"Path to file to write output">;104def output_EQ : Joined<["--"], "output=">, Alias<o>, Flags<[HelpHidden]>,105  HelpText<"Alias for -o">;106def output : Separate<["--"], "output">, Alias<o>, Flags<[HelpHidden]>,107  HelpText<"Alias for -o">;108 109def library_path : JoinedOrSeparate<["-"], "L">, MetaVarName<"<dir>">,110  HelpText<"Add <dir> to the library search path">;111def library_path_S : Separate<["--", "-"], "library-path">, Flags<[HelpHidden]>,112  Alias<library_path>;113def library_path_EQ : Joined<["--", "-"], "library-path=">, Flags<[HelpHidden]>,114  Alias<library_path>;115 116def library : JoinedOrSeparate<["-"], "l">, MetaVarName<"<libname>">,117  HelpText<"Search for library <libname>">;118def library_S : Separate<["--", "-"], "library">, Flags<[HelpHidden]>,119  Alias<library_path>;120def library_EQ : Joined<["--", "-"], "library=">, Flags<[HelpHidden]>,121  Alias<library_path>;122 123def rpath : Separate<["--", "-"], "rpath">;124def rpath_EQ : Joined<["--", "-"], "rpath=">, Flags<[HelpHidden]>, Alias<rpath>;125 126def v : Flag<["--", "-"], "v">, HelpText<"Display the version number and exit">;127def version : Flag<["--", "-"], "version">, Flags<[HelpHidden]>, Alias<v>;128 129def whole_archive : Flag<["--", "-"], "whole-archive">, Flags<[HelpHidden]>;130def no_whole_archive : Flag<["--", "-"], "no-whole-archive">, Flags<[HelpHidden]>;131 132def relocatable : Flag<["--", "-"], "relocatable">, 133    HelpText<"Link device code to create a relocatable offloading application">;134def r : Flag<["-"], "r">, Alias<relocatable>;135 136// link.exe-style linker options.137def out : Joined<["/", "-", "/?", "-?"], "out:">, Flags<[HelpHidden]>;138def libpath : Joined<["/", "-", "/?", "-?"], "libpath:">, Flags<[HelpHidden]>;139def wholearchive_flag : Joined<["/", "-", "/?", "-?"], "wholearchive">, Flags<[HelpHidden]>;140