Home
last modified time | relevance | path

Searched refs:shadow (Results 1 – 25 of 120) sorted by relevance

12345

/llvm-project-15.0.7/compiler-rt/lib/tsan/rtl/
H A Dtsan_rtl_access.cpp248 const m128 same = _mm_cmpeq_epi32(shadow, access); in ContainsSameAccess()
268 const m128 ro = _mm_cmpeq_epi32(shadow, read_mask); in ContainsSameAccess()
283 old = _mm_extract_epi32(shadow, 0); in DoReportRaceV()
286 old = _mm_extract_epi32(shadow, 1); in DoReportRaceV()
289 old = _mm_extract_epi32(shadow, 2); in DoReportRaceV()
292 old = _mm_extract_epi32(shadow, 3); in DoReportRaceV()
312 const m128 access_and = _mm_and_si128(access, shadow); in CheckRaces()
313 const m128 access_xor = _mm_xor_si128(access, shadow); in CheckRaces()
340 _mm_cmpeq_epi32(_mm_max_epu32(shadow, access_read_atomic), shadow); in CheckRaces()
345 const m128 empty = _mm_cmpeq_epi32(shadow, zero); in CheckRaces()
[all …]
/llvm-project-15.0.7/compiler-rt/lib/hwasan/
H A Dhwasan_dynamic_shadow.cpp51 const uptr shadow = reinterpret_cast<uptr>(&__hwasan_shadow); in IsPremapShadowAvailable() local
55 return shadow != 0 && shadow != resolver; in IsPremapShadowAvailable()
75 static __sanitizer::uptr shadow = 0; in __hwasan_premap_shadow() local
76 if (!shadow) in __hwasan_premap_shadow()
77 shadow = __hwasan::PremapShadow(); in __hwasan_premap_shadow()
78 return reinterpret_cast<decltype(__hwasan_shadow)*>(shadow); in __hwasan_premap_shadow()
/llvm-project-15.0.7/clang/test/Modules/
H A Dshadow.m2 …s -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs/shadow/A1 -I %S/Inputs/shadow/A2 %s …
3 …les-cache-path=%t -fmodule-map-file=%S/Inputs/shadow/A1/module.modulemap -fmodule-map-file=%S/Inpu…
7 … -fmodules-cache-path=%t -fmodule-map-file=%S/Inputs/shadow/A1/module.modulemap -I %S/Inputs/shado…
/llvm-project-15.0.7/llvm/test/Instrumentation/MemorySanitizer/
H A Dmsan_kernel_basic.ll48 ; Load the shadow of %p and check it
77 ; Load the shadow of %p and check it
109 ; Load the shadow of %p and check it
140 ; Load the shadow of %p and check it
171 ; Load the shadow of %p and check it
205 ; Load the shadow of %p and check it
214 ; Load the shadow and origin.
240 ; Load the shadow and origin.
266 ; Load the shadow and origin.
291 ; Load the shadow and origin.
[all …]
H A Dmanual-shadow.ll3 ; RUN: opt < %s -msan-shadow-base 3735928559 -S -passes=msan 2>&1 | FileCheck \
5 ; RUN: opt < %s -msan-shadow-base 3735928559 -msan-and-mask 4294901760 -S \
7 ; RUN: opt < %s -msan-shadow-base 3735928559 -msan-xor-mask 48879 -S \
9 ; RUN: opt < %s -msan-shadow-base 3735928559 -msan-xor-mask 48879 \
H A Datomics.ll11 ; atomicrmw xchg: store clean shadow, return clean shadow
41 ; cmpxchg: the same as above, but also check %a shadow
79 ; atomic load: preserve alignment, load shadow value after app value
94 ; atomic load: preserve alignment, load shadow value after app value
139 ; atomic store: preserve alignment, store clean shadow value before app value
154 ; atomic store: preserve alignment, store clean shadow value before app value
H A Dmsan_basic.ll103 ; Check that we store the shadow for the retval.
113 ; Check that we get the shadow for the retval.
128 ; Check that we generate PHIs for shadow.
155 ; Compute shadow for "x << 10"
289 ; Check that we propagate shadow for "select"
337 ; mixed into the result shadow.
417 ; (2nd arg shadow is checked, 1st arg shadow is propagated)
449 ; Check that fneg simply propagates shadow.
867 ; Test argument shadow alignment
890 ; First element shadow
[all …]
H A Dcheck-constant-shadow.ll1 ; RUN: opt < %s -msan-check-access-address=0 -msan-check-constant-shadow=1 \
21 ; Expect 2 stores: one for the shadow (0), one for the value (42), but no origin.
38 ; Expect 3 stores: shadow, value and origin.
H A Dmsan_x86_bts_asm.ll32 ; This test makes sure that the conservative mode unpoisons the shadow of |bit|
80 ; Calculating the shadow offset of %bit.
88 ; Now load the shadow value for the boolean.
92 ; Is the shadow poisoned?
/llvm-project-15.0.7/compiler-rt/lib/msan/
H A Dmsan.h64 #define SHADOW_TO_ORIGIN(shadow) (((uptr)(shadow)) + 0x2000000000ULL) argument
159 # define SHADOW_TO_ORIGIN(shadow) (((uptr)(shadow)) + 0x1000000000ULL) argument
182 #define SHADOW_TO_ORIGIN(shadow) (((uptr)(shadow)) + 0x140000000000ULL) argument
196 #define SHADOW_TO_ORIGIN(shadow) (((uptr)(shadow)) + 0x140000000000ULL) argument
217 #define SHADOW_TO_ORIGIN(shadow) (((uptr)(shadow)) + 0x500000000000) argument
238 #define SHADOW_TO_ORIGIN(shadow) (((uptr)(shadow)) + 0x280000000000) argument
/llvm-project-15.0.7/clang/docs/
H A DShadowCallStack.rst14 to a separately allocated 'shadow call stack' in the function prolog in
15 non-leaf functions and loading the return address from the shadow call stack
32 To optimize for memory consumption and cache locality, the shadow call
69 leaking the shadow call stack address.
95 call stack, meaning that references to the shadow call stack do not have
100 to discover the address of the shadow call stack.
106 Unless care is taken when allocating the shadow call stack, it may be
121 The runtime will need the address of the shadow call stack in order to
137 ``jmp_buf``, which requires the address of the shadow call stack to be
171 ``__attribute__((no_sanitize("shadow-call-stack")))``
[all …]
H A DHardwareAssistedAddressSanitizerDesign.rst15 tags every 8 bytes of the application memory with a 1 byte tag (using *shadow memory*),
18 The redzones, the quarantine, and, to a less extent, the shadow, are the
39 * The memory for the object is also tagged with `T` (using a `TG=>1` shadow memory)
49 of a short granule is stored at the location in shadow memory where the
54 * the pointer tag is equal to the memory tag in shadow memory, or
55 * the shadow memory tag is actually a short granule size, the value being loaded
92 adrp x20, :got:__hwasan_shadow // load shadow address from GOT into x20
95 … // (arguments: x0 = address, x20 = shadow base;
103 sbfx x16, x0, #4, #52 // shadow offset
104 ldrb w16, [x20, x16] // load shadow tag
[all …]
/llvm-project-15.0.7/compiler-rt/lib/asan/
H A Dasan_poisoning.h80 u8 *shadow = (u8*)MEM_TO_SHADOW(aligned_addr); in FastPoisonShadowPartialRightRedzone() local
81 for (uptr i = 0; i < redzone_size; i += ASAN_SHADOW_GRANULARITY, shadow++) { in FastPoisonShadowPartialRightRedzone()
83 *shadow = 0; // fully addressable in FastPoisonShadowPartialRightRedzone()
85 *shadow = in FastPoisonShadowPartialRightRedzone()
89 *shadow = poison_partial ? static_cast<u8>(size - i) : 0; in FastPoisonShadowPartialRightRedzone()
H A Dasan_premap_shadow.cpp40 uptr shadow = reinterpret_cast<uptr>(&__asan_shadow); in PremapShadowFailed() local
44 if (shadow == 0 || shadow == resolver) in PremapShadowFailed()
H A Dasan_descriptions.h199 ShadowAddressDescription shadow; member
223 return data.shadow.addr; in Address()
239 return data.shadow.Print();
254 return data.kind == kAddressKindShadow ? &data.shadow : nullptr; in AsShadow()
/llvm-project-15.0.7/llvm/test/Instrumentation/AddressSanitizer/
H A Dforce-dynamic-shadow.ll1 ; Test -asan-force-dynamic-shadow flag.
3 ; RUN: opt -passes='asan-pipeline' -S -asan-force-dynamic-shadow=1 < %s | FileCheck %s --check-pref…
4 ; RUN: opt -passes='asan-pipeline' -S -asan-force-dynamic-shadow=0 < %s | FileCheck %s --check-pref…
9 ; First instrumentation in the function must be to load the dynamic shadow
H A Ddynamic-shadow-darwin.ll1 ; Test using dynamic shadow address on darwin
11 ; // macOS does not use dynamic shadow placement on x86_64
13 ; // macOS does use dynamic shadow placement on arm64
17 ; First instrumentation in the function must be to load the dynamic shadow
/llvm-project-15.0.7/llvm/test/CodeGen/SystemZ/
H A Dstackmap-shadow-optimization.ll3 ; Check that the stackmap shadow optimization is only outputting a 2-byte
6 ; stackmap shadow as the call return counts as a branch target so must flush
7 ; the shadow.
9 ; the call must be at the end of the shadow, so the required nop must be
/llvm-project-15.0.7/llvm/test/CodeGen/X86/
H A Dstackmap-shadow-optimization.ll3 ; Check that the X86 stackmap shadow optimization is only outputting a 3-byte
6 ; stackmap shadow as the call return counts as a branch target so must flush
7 ; the shadow.
9 ; the call must be at the end of the shadow, so the required nop must be
/llvm-project-15.0.7/llvm/test/Instrumentation/HWAddressSanitizer/
H A Dbasic.ll21 ; RECOVER-DYNAMIC-SHADOW: %[[E:[^ ]*]] = getelementptr i8, i8* %.hwasan.shadow, i64 %4
54 ; ABORT: call void @llvm.hwasan.check.memaccess.shortgranules(i8* %.hwasan.shadow, i8* %a, i32 0)
71 ; RECOVER-DYNAMIC-SHADOW: %[[E:[^ ]*]] = getelementptr i8, i8* %.hwasan.shadow, i64 %4
122 ; RECOVER-DYNAMIC-SHADOW: %[[E:[^ ]*]] = getelementptr i8, i8* %.hwasan.shadow, i64 %4
149 ; RECOVER-DYNAMIC-SHADOW: %[[E:[^ ]*]] = getelementptr i8, i8* %.hwasan.shadow, i64 %4
176 ; RECOVER-DYNAMIC-SHADOW: %[[E:[^ ]*]] = getelementptr i8, i8* %.hwasan.shadow, i64 %4
216 ; RECOVER-DYNAMIC-SHADOW: %[[E:[^ ]*]] = getelementptr i8, i8* %.hwasan.shadow, i64 %4
242 ; RECOVER-DYNAMIC-SHADOW: %[[E:[^ ]*]] = getelementptr i8, i8* %.hwasan.shadow, i64 %4
269 ; RECOVER-DYNAMIC-SHADOW: %[[E:[^ ]*]] = getelementptr i8, i8* %.hwasan.shadow, i64 %4
296 ; RECOVER-DYNAMIC-SHADOW: %[[E:[^ ]*]] = getelementptr i8, i8* %.hwasan.shadow, i64 %4
[all …]
H A Dfuchsia.ll1 ; Check HWASan shadow mapping on Fuchsia.
5 ; CHECK: %.hwasan.shadow = call i8* asm "", "=r,0"(i8* null)
/llvm-project-15.0.7/llvm/test/Instrumentation/MemorySanitizer/SystemZ/
H A Dvararg.ll18 ; First check if the variadic shadow values are saved in stack with correct
61 ; Save the incoming shadow values from the varargs in the __msan_va_arg_tls
66 ; - r3@24 == i32 zext %arg2 - shadow is zero-extended
67 ; - f0@128 == float %arg3 - left-justified, shadow is 32-bit
68 ; - r4@32 == i32 sext %arg4 - shadow is sign-extended
73 ; - overflow@160 == i32 zext %arg9 - shadow is zero-extended
75 ; - overflow@(168 + 4) == float %arg11 - right-justified, shadow is 32-bit
76 ; - overflow@176 == i32 sext %arg12 - shadow is sign-extended
128 ; Regardless of whether or not fixed args overflow, we should copy a shadow
H A Dvararg-kernel.ll38 ; - r3@24 == i32 zext %arg2 - shadow is zero-extended
39 ; - r4@(32 + 4) == float %arg3 - right-justified, shadow is 32-bit
40 ; - r5@40 == i32 sext %arg4 - shadow is sign-extended
45 ; - overflow@184 == i32 zext %arg9 - shadow is zero-extended
47 ; - overflow@(200 + 4) == float %arg11 - right-justified, shadow is 32-bit
48 ; - overflow@208 == i32 sext %arg12 - shadow is sign-extended
/llvm-project-15.0.7/compiler-rt/lib/memprof/
H A Dmemprof_flags.inc20 "If set, explicitly unmaps the (huge) shadow at exit.")
21 MEMPROF_FLAG(bool, protect_shadow_gap, true, "If set, mprotect the shadow gap")
22 MEMPROF_FLAG(bool, print_legend, true, "Print the legend for the shadow bytes.")
/llvm-project-15.0.7/llvm/test/Instrumentation/MemorySanitizer/AArch64/
H A Dvararg.ll18 ; First check if the variadic shadow values are saved in stack with correct
30 ; Propagate the GR shadow values on for the va_list::__gp_top, adjust the
37 ; Propagate the VR shadow values on for the va_list::__vr_top, adjust the
44 ; Copy the remaining shadow values on the va_list::__stack position (it is
61 ; Save the incoming shadow value from the arguments in the __msan_va_arg_tls

12345