When I’m using the LLVM package from by distribution (archlinux), I’ve got multiple command line options availables (I’m using llvm-link -help to see them).
OPTIONS:
-asm-verbose - Add comments to directives.
-cppfname=<function name> - Specify the name of the generated function
-cppfor=<string> - Specify the name of the thing to generate
-cppgen - Choose what kind of output to generate
=program - Generate a complete program
=module - Generate a module definition
=contents - Generate contents of a module
=function - Generate a function definition
=functions - Generate all function definitions
=inline - Generate an inline function
=variable - Generate a variable definition
=type - Generate a type definition
-disable-spill-fusing - Disable fusing of spill code into instructions
-enable-correct-eh-support - Make the -lowerinvoke pass insert expensive, but correct, EH code
... many more ...
However, when building LLVM from sources, I didn’t get those options :
OPTIONS:
-f - Enable binary output on terminals
-help - Display available options (-help-hidden for more)
-o=<filename> - Override output filename
-print-after-all - Print IR after each pass
-print-before-all - Print IR before each pass
-stats - Enable statistics output from program
-time-passes - Time each pass, printing elapsed time for each on exit
-v - Print information about actions taken
-verify-dom-info - Verify dominator info (time consuming)
-verify-loop-info - Verify loop info (time consuming)
-version - Display the version of this program
Why ?
Something is broken with the build provided by your distribution. The help output you show (the first one) is definitely the bogus one. You should report bug to archlinux.