summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/tools/clang/docs/CommandGuide
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2017-01-24 08:32:59 +0000
committerpatrick <patrick@openbsd.org>2017-01-24 08:32:59 +0000
commit53d771aafdbe5b919f264f53cba3788e2c4cffd2 (patch)
tree7eca39498be0ff1e3a6daf583cd9ca5886bb2636 /gnu/llvm/tools/clang/docs/CommandGuide
parentIn preparation of compiling our kernels with -ffreestanding, explicitly map (diff)
downloadwireguard-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.rst39
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