Lines Matching refs:LLVM

4 Building Linux with Clang/LLVM
7 This document covers how to build the Linux kernel with Clang and LLVM
15 <https://clang.llvm.org/>`_ and `LLVM <https://llvm.org/>`_ utilities to be
23 `LLVM is a collection of toolchain components implemented in terms of C++
24 objects <https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM
28 Building with LLVM
33 make LLVM=1
37 make LLVM=1 ARCH=arm64
39 The LLVM= argument
42 LLVM has substitutes for GNU binutils utilities. They can be enabled
49 ``LLVM=1`` expands to the above.
51 If your LLVM tools are not available in your PATH, you can supply their
52 location using the LLVM variable with a trailing slash::
54 make LLVM=/path/to/llvm/
59 PATH=/path/to/llvm:$PATH make LLVM=1
61 If your LLVM tools have a version suffix and you want to test with that
62 explicit version rather than the unsuffixed executables like ``LLVM=1``, you
63 can pass the suffix using the ``LLVM`` variable::
65 make LLVM=-14
72 PATH=/path/to/llvm/:$PATH make LLVM=-14
74 ``LLVM=0`` is not the same as omitting ``LLVM`` altogether, it will behave like
75 ``LLVM=1``. If you only wish to use certain LLVM utilities, use their
78 The same value used for ``LLVM=`` should be set for each invocation of ``make``
79 if configuring and building via distinct commands. ``LLVM=`` should also be set
86 A single Clang compiler binary (and corresponding LLVM utilities) will
88 compiling especially when ``LLVM=1`` is used. If you use only LLVM tools,
91 make LLVM=1 ARCH=arm64
93 As an example of mixing LLVM and GNU utilities, for a target like ``ARCH=s390``
97 make LLVM=1 ARCH=s390 LD=s390x-linux-gnu-ld.bfd \
104 corresponding LLVM utilities) as is the case for GNU utilities when ``LLVM=1``
114 make LLVM=1 LLVM_IAS=0
121 make LLVM=1 ARCH=arm LLVM_IAS=0 CROSS_COMPILE=arm-linux-gnueabi-
131 KBUILD_BUILD_TIMESTAMP='' make LLVM=1 CC="ccache clang"
139 LLVM does not target all of the architectures that Linux supports and
140 just because a target is supported in LLVM does not mean that the kernel
142 architectures that currently work with ``CC=clang`` or ``LLVM=1``. Level
144 architecture is not present, it either means that LLVM does not target
145 it or there are known issues. Using the latest stable version of LLVM or
160 - ``LLVM=1``
163 - ``LLVM=1``
166 - ``LLVM=1``
169 - ``LLVM=1``
172 - ``LLVM=1``
175 - ``LLVM=1``
178 - ``LLVM=1``
184 - ``LLVM=1``
187 - ``LLVM=1``
203 Getting LLVM
206 We provide prebuilt stable versions of LLVM on `kernel.org
209 relative to other distributions of LLVM.
211 Below are links that may be useful for building LLVM from source or procuring