Home
last modified time | relevance | path

Searched refs:compiler (Results 1 – 25 of 144) sorted by relevance

123456

/linux/tools/memory-model/Documentation/
H A Dcontrol-dependencies.txt6 help you prevent your compiler from breaking your code. However,
9 your own code, even in the absence of help from your compiler.
41 WRITE_ONCE() are optional. Without the READ_ONCE(), the compiler might
43 the compiler might fuse the store to "b" with other stores. Worse yet,
44 the compiler might convert the store into a load and a check followed
45 by a store, and this compiler-generated load would not be ordered by
48 Furthermore, if the compiler is able to prove that the value of variable
56 In particular, although READ_ONCE() does force the compiler to emit a
57 load, it does *not* force the compiler to actually use the loaded value.
90 assembly code, after all of the compiler and link-time optimizations
[all …]
H A Daccess-marking.txt40 any sort of constraint on the compiler's choice of optimizations [3].
42 compiler's use of code-motion and common-subexpression optimizations.
47 data_race(READ_ONCE(a)), which will both restrict compiler optimizations
97 If it is necessary to both restrict compiler optimizations and disable
121 that provides the compiler much less scope for mischievous optimizations.
158 due to compiler-mangled reads, it can also tolerate the occasional
159 compiler-mangled write, at least assuming that the proper value is in
220 compiler, though one could imagine hardened kernel builds treating the
239 of how the compiler has been prevented from optimizing those accesses
260 As noted earlier, the goal is to prevent the compiler from destroying
[all …]
H A Dordering.txt190 compiler might then reasonably decide to transform "x = 1" and "y = 1"
222 The Linux kernel's compiler barrier is barrier(). This primitive
223 prohibits compiler code-motion optimizations that might move memory
226 used to prevent the compiler from moving code across an infinite loop:
233 Without the barrier(), the compiler would be within its rights to move the
432 However, control dependencies are easily destroyed by compiler
460 primitives require the compiler to emit the corresponding store
468 primitives require the compiler to emit the corresponding load
501 and further do not guarantee "atomic" access. For example, the compiler
508 any number of compiler optimizations, many of which can break your
[all …]
H A Dsimple.txt58 locking functions must carefully prevent both the CPU and the compiler
224 no ordering, but they do prevent the compiler from carrying out a number
237 Don't let the compiler trip you up
243 surprising amount of analysis, care, and knowledge about the compiler.
244 Yes, some decades ago it was not unfair to consider a C compiler to be
252 understanding of both the C standard and your compiler. Here are some
255 Who's afraid of a big bad optimizing compiler?
/linux/scripts/
H A DKconfig.include27 # Return y if the compiler supports <flag>, n otherwise
40 $(error-if,$(failure,command -v $(CC)),C compiler '$(CC)' not found)
43 # Get the C compiler name, version, and error out if it is not supported.
45 $(error-if,$(success,test -z "$(cc-info)"),Sorry$(comma) this C compiler is not supported.)
62 # $(m32-flag): -m32 if the compiler supports it, or an empty string otherwise.
63 # $(m64-flag): -m64 if the compiler supports it, or an empty string otherwise.
68 # Test whether the compiler can link userspace applications
75 # Return y if the Rust compiler supports <flag>, n otherwise
H A Dgfp-translate75 // Try to fool compiler.h into not including extra stuff
/linux/scripts/coccinelle/misc/
H A Duninitialized_var.cocci7 /// For any compiler warnings about uninitialized variables, just add
10 /// compiler warnings (e.g. "unused variable"). If the compiler thinks it
11 /// is uninitialized, either simply initialize the variable or make compiler
13 /// obviously redundant, the compiler's dead-store elimination pass will make
/linux/Documentation/RCU/
H A Drcu_dereference.rst40 compiler from deducing the resulting pointer value. Please see
42 for an example where the compiler can in fact deduce the exact
52 The compiler simply knows too much about integral values to
70 "(x-(uintptr_t)x)" for char* pointers. The compiler is within its
109 explained, if the two pointers are equal, the compiler could
117 Because the compiler now knows that the value of "p" is exactly
132 compiler knows that the pointer is NULL, you had better
134 non-equal, the compiler is none the wiser. Therefore,
139 Since there are no subsequent dereferences, the compiler
197 - The pointers are not equal *and* the compiler does
[all …]
/linux/include/linux/
H A Dcompiler_types.h724 #define __diag_ignore(compiler, version, option, comment) \ argument
725 __diag_ ## compiler(version, ignore, option)
726 #define __diag_warn(compiler, version, option, comment) \ argument
727 __diag_ ## compiler(version, warn, option)
728 #define __diag_error(compiler, version, option, comment) \ argument
729 __diag_ ## compiler(version, error, option)
/linux/Documentation/
H A Dmemory-barriers.txt138 appears to be maintained. Similarly, the compiler may also arrange the
243 Whether on DEC Alpha or not, the READ_ONCE() also prevents compiler
268 (*) It _must_not_ be assumed that the compiler will do what you want
270 WRITE_ONCE(). Without them, the compiler is within its rights to
318 in a given bitfield are protected by different locks, the compiler's
360 What is required is some way of intervening to instruct the compiler and the
401 including how compiler transformations can sometimes break address
566 how compiler transformations can sometimes break address dependencies,
643 Documentation/RCU/rcu_dereference.rst file: The compiler can and does break
685 the compiler's ignorance from breaking your code.
[all …]
/linux/Documentation/kbuild/
H A Dgcc-plugins.rst10 compiler [1]_. They are useful for runtime instrumentation and static analysis.
16 Plugin source files have to be compilable by a C++ compiler.
39 compiler features that are neither in GCC nor Clang upstream. Once
45 upstream compiler support (in either GCC or Clang).
106 Run gcc (native or cross-compiler) to ensure plugin headers are detected::
/linux/Documentation/ABI/testing/
H A Dconfigfs-acpi49 - ASCII ASL compiler vendor ID
52 - ASL compiler version
/linux/lib/
H A DKconfig.kmsan17 uninitialized values in the kernel. It is based on compiler
32 If the compiler supports -fsanitize-memory-param-retval, KMSAN will
H A DKconfig.kasan68 # this variable to decide how the compiler should treat builtins.
71 The compiler is able to prefix memintrinsics with __asan or __hwasan.
149 Makes the compiler insert function calls that check whether the memory
157 Makes the compiler directly insert memory accessibility checks before
/linux/Documentation/core-api/
H A Dunaligned-memory-access.rst83 Fortunately things are not too complex, as in most cases, the compiler
100 Fortunately, the compiler understands the alignment constraints, so in the
102 Therefore, for standard structure types you can always rely on the compiler
106 Similarly, you can also rely on the compiler to align variables and function
126 For a natural alignment scheme, the compiler would only have to add a single
131 structure type. This GCC-specific attribute tells the compiler never to
137 architectural alignment requirements. However, again, the compiler is aware
/linux/Documentation/process/
H A Dvolatile-considered-harmful.rst40 compiler might think it knows what will be in shared_data, but the
46 necessary. But the compiler would also be prevented from optimizing access
54 by locks, but one also does not want the compiler "optimizing" register
69 hyperthreaded twin processor; it also happens to serve as a compiler
/linux/Documentation/arch/x86/x86_64/
H A Dfsgs.rst31 thread and the compiler emits the FS: address prefix for accesses to these
125 FSGSBASE instructions compiler support
139 code and the compiler option -mfsgsbase has to be added.
192 In case the compiler does not support address spaces, inline assembly can
/linux/Documentation/networking/
H A Dfilter.rst51 internal compiler that generates a structure that can eventually be loaded
172 filters use Linux extensions that are not supported by libpcap's compiler,
174 libpcap's compiler, or iv) particular filter codes should be optimized
175 differently than libpcap's internal compiler does; then in such cases
512 JIT compiler
515 The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC,
517 CONFIG_BPF_JIT. The JIT compiler is transparently invoked for each
547 70 bytes emitted from JIT compiler (pass:3, flen:6)
574 70 bytes emitted from JIT compiler (pass:3, flen:6)
618 toolchain for developing and testing the kernel's JIT compiler.
[all …]
/linux/tools/testing/selftests/net/af_unix/
H A DMakefile2 include $(top_srcdir)/scripts/Makefile.compiler
/linux/Documentation/dev-tools/
H A Dcontainer.rst11 requires a specific version of a compiler or an external test suite. While
76 The container image which would typically include a compiler toolchain is
108 the Containerfile used to create the image. For example, a Clang-only compiler
187 ``kernel.org`` images which are based on the `kernel.org compiler toolchains
225 ``make PREFIX=kernel.org/ extra`` as it's not a compiler toolchain::
/linux/include/xen/interface/
H A Dversion.h29 char compiler[64]; member
/linux/tools/testing/selftests/nolibc/
H A DMakefile6 include $(top_srcdir)/scripts/Makefile.compiler
/linux/tools/testing/selftests/arm64/mte/
H A DMakefile32 $(warning compiler "$(CC)" does not support the ARMv8.5 MTE extension.)
/linux/Documentation/arch/arm/
H A Darm.rst11 In order to compile ARM Linux, you will need a compiler capable of
13 a good compiler. Fortunately, you needn't guess. The kernel will report
14 an error if your compiler is a recognized offender.
36 CROSS_COMPILE=<your-path-to-your-compiler-without-gcc>
/linux/Documentation/rust/
H A Darch-support.rst6 Currently, the Rust compiler (``rustc``) uses LLVM for code generation,

123456