Home
last modified time | relevance | path

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

12345678

/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
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
56 In particular, although READ_ONCE() does force the compiler to emit a
90 assembly code, after all of the compiler and link-time optimizations
132 If MAX is compile-time defined to be 1, then the compiler knows that
179 does force the compiler to emit code for a given load, the compiler is
195 compiler cannot reorder volatile accesses and also cannot reorder
[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 to compiler from moving code across an infinite loop:
432 However, control dependencies are easily destroyed by compiler
460 primitives required the compiler to emit the corresponding store
468 primitives required the compiler to emit the corresponding load
508 any number of compiler optimizations, many of which can break your
511 is required on an ongoing basis. The compiler-constraining barrier()
548 Who's afraid of a big bad optimizing compiler?
[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
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
311 If it is necessary to suppress compiler optimization and also detect
[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/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/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.
72 # 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/Documentation/RCU/
H A Drcu_dereference.rst52 The compiler simply knows too much about integral values to
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
200 will normally prevent the compiler from knowing too much.
202 However, please note that if the compiler knows that the
205 compiler needs to deduce the value of the pointer.
264 /* The compiler decides that q->c is same as p->c. */
326 /* The compiler decides that q->c is same as p->c. */
[all …]
H A Dlockdep.rst62 and compiler constraints. This is useful when the data
67 but retain the compiler constraints that prevent duplicating
101 all barriers and compiler constraints, it generates better code than do
/linux/include/linux/
H A Dcompiler_types.h535 #define __diag_ignore(compiler, version, option, comment) \ argument
536 __diag_ ## compiler(version, ignore, option)
537 #define __diag_warn(compiler, version, option, comment) \ argument
538 __diag_ ## compiler(version, warn, option)
539 #define __diag_error(compiler, version, option, comment) \ argument
540 __diag_ ## compiler(version, error, option)
/linux/arch/nios2/platform/
H A DKconfig.platform67 instruction. This will enable the -mhw-mul compiler flag.
73 instruction. Enables the -mhw-mulx compiler flag.
79 instruction. Enables the -mhw-div compiler flag.
87 the -mbmx compiler flag.
95 the -mcdx compiler flag.
100 Enables the -mcustom-fpu-cfg=60-1 compiler flag.
/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/
H A Dmemory-barriers.txt685 the compiler's ignorance from breaking your code.
808 equal to zero, in which case the compiler is within its rights to
853 the compiler to use the results.
868 compiler cannot reorder volatile accesses and also cannot reorder
870 of reasoning, the compiler might compile the two writes to 'b' as
1643 compiler that it doesn't know as much as it thinks it does:
1699 There is nothing to prevent the compiler from transforming
1875 compiler and the CPU from reordering them.
1884 compiler barrier in a UP compilation.
2085 the reordering, not the compiler. If the compiler (or, for
[all …]
/linux/Documentation/ABI/testing/
H A Dconfigfs-acpi49 - ASCII ASL compiler vendor ID
52 - ASL compiler version
/linux/kernel/bpf/
H A DKconfig8 # Used by archs to tell that they support BPF JIT compiler plus which
20 # Used by archs to tell that they want the BPF JIT compiler enabled by
43 bool "Enable BPF Just In Time compiler"
/linux/Documentation/dev-tools/
H A Dkmsan.rst9 values. It is based on compiler instrumentation, and is quite similar to the
90 it, which can be helpful if we do not want the compiler to interfere with some
124 the only compiler that has KMSAN support. The kernel instrumentation pass is
142 instrumentation code inserted by the compiler (unless it is a stack variable
154 that takes one or more values the compiler generates code that calculates the
236 For every memory access the compiler emits a call to a function that returns a
250 The compiler makes sure that for every loaded value its shadow and origin
290 ``-fsanitize-memory-param-retval``, which makes the compiler check function
304 The compiler replaces calls to ``memcpy()``/``memmove()``/``memset()`` with the
316 For each use of a value the compiler emits a shadow check that calls
/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/include/xen/interface/
H A Dversion.h29 char compiler[64]; member
/linux/lib/
H A DKconfig.kmsan20 uninitialized values in the kernel. It is based on compiler
41 If the compiler supports -fsanitize-memory-param-retval, KMSAN will
H A DKconfig.kasan56 # this variable to decide how the compiler should treat builtins.
59 The compiler is able to prefix memintrinsics with __asan or __hwasan.
137 Makes the compiler insert function calls that check whether the memory
145 Makes the compiler directly insert memory accessibility checks before
/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/features/debug/stackprotector/
H A Darch-support.txt4 # description: arch supports compiler driven stack overflow protection
/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/tools/testing/selftests/arm64/mte/
H A DMakefile32 $(warning compiler "$(CC)" does not support the ARMv8.5 MTE extension.)
/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 …]

12345678