[LoongArch][Clang] Make the parameters and return value of {x,}vorn.v builti ns ...
[llvm-project.git] / clang / tools / clang-nvlink-wrapper / NVLinkOpts.td
blob6de1a25c14f8be02be7567b6472b67621e7d4781
1 // We try to create options similar to lld's.  That way, options passed to clang
2 // -Xoffload-linker can be the same whether offloading to nvptx or amdgpu.
4 include "llvm/Option/OptParser.td"
6 def WrapperOnlyOption : OptionFlag;
8 def help : Flag<["-", "--"], "help">,
9   HelpText<"Display available options (--help-hidden for more)">;
11 def help_hidden : Flag<["-", "--"], "help-hidden">,
12   HelpText<"Display all available options">;
14 def verbose : Flag<["-"], "v">, HelpText<"Print verbose information">;
15 def version : Flag<["--"], "version">,
16   HelpText<"Display the version number and exit">;
18 def cuda_path_EQ : Joined<["--"], "cuda-path=">, Flags<[WrapperOnlyOption]>,
19   MetaVarName<"<dir>">, HelpText<"Set the system CUDA path">;
20 def ptxas_path_EQ : Joined<["--"], "ptxas-path=">, Flags<[WrapperOnlyOption]>,
21   MetaVarName<"<dir>">, HelpText<"Set the 'ptxas' path">;
23 def o : JoinedOrSeparate<["-"], "o">, MetaVarName<"<path>">,
24   HelpText<"Path to file to write output">;
25 def output : Separate<["--"], "output-file">, Alias<o>, Flags<[HelpHidden]>,
26   HelpText<"Alias for -o">;
28 def library_path : JoinedOrSeparate<["-"], "L">, MetaVarName<"<dir>">,
29   HelpText<"Add <dir> to the library search path">;
30 def library_path_S : Separate<["--", "-"], "library-path">, Flags<[HelpHidden]>,
31   Alias<library_path>;
32 def library_path_EQ : Joined<["--", "-"], "library-path=">, Flags<[HelpHidden]>,
33   Alias<library_path>;
35 def library : JoinedOrSeparate<["-"], "l">, MetaVarName<"<libname>">,
36   HelpText<"Search for library <libname>">;
37 def library_S : Separate<["--", "-"], "library">, Flags<[HelpHidden]>,
38   Alias<library_path>;
39 def library_EQ : Joined<["--", "-"], "library=">, Flags<[HelpHidden]>,
40   Alias<library_path>;
42 def plugin : JoinedOrSeparate<["--", "-"], "plugin">,
43   Flags<[HelpHidden, WrapperOnlyOption]>;
45 def arch : Separate<["--", "-"], "arch">,
46   HelpText<"Specify the 'sm_' name of the target architecture">;
47 def : Joined<["--", "-"], "plugin-opt=mcpu=">,
48   Flags<[HelpHidden, WrapperOnlyOption]>, Alias<arch>;
50 def g : Flag<["-"], "g">, HelpText<"Specify that this was a debug compile">;
51 def debug : Flag<["--"], "debug">, Alias<g>;
53 def lto_emit_llvm : Flag<["--"], "lto-emit-llvm">, Flags<[WrapperOnlyOption]>,
54   HelpText<"Emit LLVM-IR bitcode">;
55 def lto_emit_asm : Flag<["--"], "lto-emit-asm">, Flags<[WrapperOnlyOption]>,
56   HelpText<"Emit assembly code">;
58 def u : JoinedOrSeparate<["-"], "u">, HelpText<"Force undefined symbol during linking">;
59 def undefined : JoinedOrSeparate<["--"], "undefined">, Alias<u>;
61 def O : Joined<["--", "-"], "plugin-opt=O">,
62   Flags<[WrapperOnlyOption]>, MetaVarName<"<O0, O1, O2, or O3>">,
63   HelpText<"Optimization level for LTO">;
65 def thinlto : Joined<["--", "-"], "plugin-opt=thinlto">,
66   Flags<[WrapperOnlyOption]>, HelpText<"Enable the thin-lto backend">;
67 def lto_partitions : Joined<["--", "-"], "plugin-opt=lto-partitions=">,
68   Flags<[WrapperOnlyOption]>, HelpText<"Number of LTO codegen partitions">;
69 def jobs : Joined<["--", "-"], "plugin-opt=jobs=">,
70   Flags<[WrapperOnlyOption]>, HelpText<"Number of LTO codegen partitions">;
71 def : Joined<["--", "-"], "plugin-opt=emit-llvm">,
72   Flags<[WrapperOnlyOption]>, Alias<lto_emit_llvm>;
73 def : Joined<["--", "-"], "plugin-opt=emit-asm">,
74   Flags<[WrapperOnlyOption]>, Alias<lto_emit_asm>;
75 def plugin_opt : Joined<["--", "-"], "plugin-opt=">, Flags<[WrapperOnlyOption]>,
76   HelpText<"Options passed to LLVM, not including the Clang invocation. Use "
77            "'--plugin-opt=--help' for a list of options.">;
79 def lto_newpm_passes : Joined<["--"], "lto-newpm-passes=">,
80   Flags<[WrapperOnlyOption]>, HelpText<"Passes to run during LTO">;
81 def lto_debug_pass_manager : Flag<["--"], "lto-debug-pass-manager">,
82   Flags<[WrapperOnlyOption]>,   HelpText<"Debug new pass manager">;
84 def save_temps : Flag<["--", "-"], "save-temps">,
85   Flags<[WrapperOnlyOption]>, HelpText<"Save intermediate results">;
87 def relocatable : Flag<["--", "-"], "relocatable">,
88   Flags<[WrapperOnlyOption]>, HelpText<"Perform a relocatable link (LTO only)">;
89 def r : Flag<["-"], "r">, Flags<[WrapperOnlyOption]>, Alias<relocatable>;
91 def whole_archive : Flag<["--", "-"], "whole-archive">,
92   Flags<[WrapperOnlyOption, HelpHidden]>;
93 def no_whole_archive : Flag<["--", "-"], "no-whole-archive">,
94   Flags<[WrapperOnlyOption, HelpHidden]>;
96 def mllvm : Separate<["-"], "mllvm">, Flags<[WrapperOnlyOption]>,
97   MetaVarName<"<arg>">,
98   HelpText<"Arguments passed to LLVM, including Clang invocations, for which "
99            "the '-mllvm' prefix is preserved. Use '-mllvm --help' for a list "
100            "of options.">;
101 def mllvm_EQ : Joined<["-"], "mllvm=">, Flags<[HelpHidden]>, Alias<mllvm>;
103 def dry_run : Flag<["--", "-"], "dry-run">, Flags<[WrapperOnlyOption]>,
104   HelpText<"Print generated commands without running.">;