diff options
| author | 2017-01-24 08:32:59 +0000 | |
|---|---|---|
| committer | 2017-01-24 08:32:59 +0000 | |
| commit | 53d771aafdbe5b919f264f53cba3788e2c4cffd2 (patch) | |
| tree | 7eca39498be0ff1e3a6daf583cd9ca5886bb2636 /gnu/llvm/tools/clang/docs/CommandGuide | |
| parent | In preparation of compiling our kernels with -ffreestanding, explicitly map (diff) | |
| download | wireguard-openbsd-53d771aafdbe5b919f264f53cba3788e2c4cffd2.tar.xz wireguard-openbsd-53d771aafdbe5b919f264f53cba3788e2c4cffd2.zip | |
Import LLVM 4.0.0 rc1 including clang and lld to help the current
development effort on OpenBSD/arm64.
Diffstat (limited to 'gnu/llvm/tools/clang/docs/CommandGuide')
| -rw-r--r-- | gnu/llvm/tools/clang/docs/CommandGuide/clang.rst | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/gnu/llvm/tools/clang/docs/CommandGuide/clang.rst b/gnu/llvm/tools/clang/docs/CommandGuide/clang.rst index 0546304e710..16bb09f3c74 100644 --- a/gnu/llvm/tools/clang/docs/CommandGuide/clang.rst +++ b/gnu/llvm/tools/clang/docs/CommandGuide/clang.rst @@ -105,7 +105,12 @@ Language Selection and Mode Options .. option:: -stdlib=<library> Specify the C++ standard library to use; supported options are libstdc++ and - libc++. + libc++. If not specified, platform default will be used. + +.. option:: -rtlib=<library> + + Specify the compiler runtime library to use; supported options are libgcc and + compiler-rt. If not specified, platform default will be used. .. option:: -ansi @@ -162,16 +167,6 @@ Language Selection and Mode Options Enable the "Blocks" language feature. -.. option:: -fobjc-gc-only - - Indicate that Objective-C code should be compiled in GC-only mode, which only - works when Objective-C Garbage Collection is enabled. - -.. option:: -fobjc-gc - - Indicate that Objective-C code should be compiled in hybrid-GC mode, which - works with both GC and non-GC mode. - .. option:: -fobjc-abi-version=version Select the Objective-C ABI version to use. Available versions are 1 (legacy @@ -221,7 +216,7 @@ number of cross compilers, or may only support a native target. Code Generation Options ~~~~~~~~~~~~~~~~~~~~~~~ -.. option:: -O0, -O1, -O2, -O3, -Ofast, -Os, -Oz, -O, -O4 +.. option:: -O0, -O1, -O2, -O3, -Ofast, -Os, -Oz, -Og, -O, -O4 Specify which optimization level to use: @@ -247,6 +242,9 @@ Code Generation Options :option:`-Oz` Like :option:`-Os` (and thus :option:`-O2`), but reduces code size further. + :option:`-Og` Like :option:`-O1`. In future versions, this option might + disable different optimizations in order to improve debuggability. + :option:`-O` Equivalent to :option:`-O2`. :option:`-O4` and higher @@ -323,13 +321,19 @@ Code Generation Options model can be overridden with the tls_model attribute. The compiler will try to choose a more efficient model if possible. -.. option:: -flto, -emit-llvm +.. option:: -flto, -flto=full, -flto=thin, -emit-llvm Generate output files in LLVM formats, suitable for link time optimization. When used with :option:`-S` this generates LLVM intermediate language assembly files, otherwise this generates LLVM bitcode format object files (which may be passed to the linker depending on the stage selection options). + The default for :option:`-flto` is "full", in which the + LLVM bitcode is suitable for monolithic Link Time Optimization (LTO), where + the linker merges all such modules into a single combined module for + optimization. With "thin", :doc:`ThinLTO <../ThinLTO>` + compilation is invoked instead. + Driver Options ~~~~~~~~~~~~~~ @@ -383,7 +387,8 @@ Driver Options .. option:: -print-libgcc-file-name - Print the library path for "libgcc.a". + Print the library path for the currently used compiler runtime library + ("libgcc.a" or "libclang_rt.builtins.*.a"). .. option:: -print-prog-name=<name> @@ -397,6 +402,12 @@ Driver Options Save intermediate compilation results. +.. option:: -save-stats, -save-stats=cwd, -save-stats=obj + + Save internal code generation (LLVM) statistics to a file in the current + directory (:option:`-save-stats`/"-save-stats=cwd") or the directory + of the output file ("-save-state=obj"). + .. option:: -integrated-as, -no-integrated-as Used to enable and disable, respectively, the use of the integrated |
