| /llvm-project-15.0.7/clang-tools-extra/test/clang-tidy/checkers/bugprone/ |
| H A D | suspicious-memset-usage.cpp | 6 using ::memset; 33 memset(p, '0', l); in foo() 59 memset(p, '2', l); in foo() local 60 memset(p, 0, l); in foo() 61 memset(c, '0', 1); in foo() 64 memset(p, 0x00, l); in foo() 68 memset(p, 0xcd, 1); in foo() 72 memset(p, 0, v); in foo() 76 memset(p, -1, v); in foo() 79 void *memset(int); [all …]
|
| H A D | undefined-memory-manipulation.cpp | 3 void *memset(void *, int, __SIZE_TYPE__); 10 using ::memset; 62 memset(s, 0, 5); in f() 67 memset(b, 0, sizeof(T)); in memset_temp() 96 memset(&vf, 0, sizeof(int)); in notTriviallyCopyable() 98 memset(&d, 0, sizeof(int)); in notTriviallyCopyable() 100 memset(&c, 0, sizeof(int)); in notTriviallyCopyable() 178 memset(&p, 0, sizeof(int)); in triviallyCopyable() 181 memset(&i, 0, sizeof(int)); in triviallyCopyable() 182 memset(ia, 0, sizeof(int)); in triviallyCopyable() [all …]
|
| /llvm-project-15.0.7/clang/test/Sema/ |
| H A D | transpose-memset.c | 4 #define memset(...) __builtin_memset(__VA_ARGS__) macro 22 memset(array, 0, sizeof(array)); in main() 23 memset(ptr, 0, sizeof(int *) * 10); in main() 24 memset(array, (int)sizeof(array), (0)); // no warning in main() 25 memset(array, (int)sizeof(array), 32); // no warning in main() 26 memset(array, 32, (0)); // no warning in main() 27 memset(array, 0, 0); // no warning in main() 36 memset(array, 0xff, ZERO); // no warning in macros() 42 memset(array, 0xff, ZERO); \ in macros() 48 memset(array, 0xff, 0); \ in macros() [all …]
|
| /llvm-project-15.0.7/clang/test/SemaCXX/ |
| H A D | warn-memset-bad-sizeof.cpp | 38 memset(&s, 0, sizeof(&s)); // \ in f() 40 memset(ps, 0, sizeof(ps)); // \ in f() 76 memset(&s, 0, sizeof(s)); in f() 77 memset(&s, 0, sizeof(S)); in f() 84 memset(ps, 0, sizeof(*ps)); in f() 85 memset(ps2, 0, sizeof(*ps2)); in f() 87 memset(arr, 0, sizeof(arr)); in f() 127 memset(iarr, 0, sizeof iarr); in f() 137 memset(m, 0, sizeof(Mat)); in f() 145 memset(({ in f() [all …]
|
| H A D | warn-bad-memaccess.cpp | 12 void *memset(void *, int, unsigned); 34 memset(&x1, 0, sizeof x1); // \ in test_warn() 41 memset(&x2, 0, sizeof x2); // \ in test_warn() 126 memset(&i, 0, sizeof i); in test_nowarn() 128 memset(&y, 0, sizeof y); in test_nowarn() 129 memset(&c, 0, sizeof c); in test_nowarn() 130 memset(void_ptr, 0, 42); in test_nowarn() 131 memset(&s1, 0, sizeof s1); in test_nowarn() 132 memset(&s2, 0, sizeof s2); in test_nowarn() 133 memset(&s3, 0, sizeof s3); in test_nowarn() [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/InstCombine/ |
| H A D | memset-1.ll | 12 ; Check memset(mem1, val, size) -> llvm.memset(mem1, val, size, 1). 125 ret i8* %memset 136 ret i8* %memset 148 ret i8* %memset 159 ret i8* %memset 170 ret i8* %memset 181 ret i8* %memset 190 ret i8* %memset 201 ret i8* %memset 211 ret i8* %memset [all …]
|
| H A D | memset.ll | 17 call void @llvm.memset.p0i8.i32(i8* %target_p, i8 1, i32 0, i1 false) 18 call void @llvm.memset.p0i8.i32(i8* %target_p, i8 1, i32 1, i1 false) 19 call void @llvm.memset.p0i8.i32(i8* align 2 %target_p, i8 1, i32 2, i1 false) 20 call void @llvm.memset.p0i8.i32(i8* align 4 %target_p, i8 1, i32 4, i1 false) 21 call void @llvm.memset.p0i8.i32(i8* align 8 %target_p, i8 1, i32 8, i1 false) 32 call void @llvm.memset.p0i8.i32(i8* %p, i8 0, i32 16, i1 false) 42 call void @llvm.memset.p0i8.i32(i8* %p, i8 undef, i32 8, i1 false) 48 ; CHECK-NEXT: call void @llvm.memset.p0i8.i32(i8* [[P:%.*]], i8 undef, i32 8, i1 true) 51 call void @llvm.memset.p0i8.i32(i8* %p, i8 undef, i32 8, i1 true) 59 call void @llvm.memset.p0i8.i32(i8* %p, i8 poison, i32 8, i1 false) [all …]
|
| /llvm-project-15.0.7/clang/test/Analysis/ |
| H A D | null-deref-ps-region.c | 10 void *memset(void *__s, int __c, size_t __n); 28 memset(x, 0, sizeof(int)); in foo() 35 memset(x, 0, 1); in bar() 42 …memset(x, 0, 1); // expected-warning {{Null pointer passed as 1st argument to memory set function}} in testConcreteNull() 47 memset(buf, 0, 1); // no-warning in testStackArray() 52 memset(buf, 0, 1); // no-warning in testHeapSymbol() 58 memset(buf, 0, 1024); in testStackArrayOutOfBound() 65 memset(buf, 0, 1024); in testHeapSymbolOutOfBound() 72 memset(buf, 0, sizeof(buf)); // no-warning in testStackArraySameSize() 77 memset(buf, 0, 1); // no-warning in testHeapSymbolSameSize()
|
| H A D | bstring.cpp | 98 memset(&d, 0, sizeof(Derived)); in memset1_inheritance() 106 memset(&d.d_mem, 0, sizeof(Derived)); in memset2_inheritance_field() 113 memset(&d.b_mem, 0, sizeof(Derived)); in memset3_inheritance_field() 123 memset(&array[1], 0, sizeof(Derived)); in memset4_array_nonpod_object() 132 memset(array, 0, sizeof(array)); in memset5_array_nonpod_object() 141 memset(array, 0, 10 * sizeof(Derived)); in memset6_new_array_nonpod_object() 152 memset(d, 0, sizeof(Derived)); in memset7_placement_new() 160 memset(d1, 0, sizeof(Derived)); in memset7_placement_new() 179 memset(&d.b_mem, 0, sizeof(Derived)); in memset8_virtual_inheritance_field() 189 memset(array, 0, 10 * sizeof(int)); in memset1_new_array() [all …]
|
| /llvm-project-15.0.7/clang-tools-extra/docs/clang-tidy/checks/bugprone/ |
| H A D | suspicious-memset-usage.rst | 1 .. title:: clang-tidy - bugprone-suspicious-memset-usage 3 bugprone-suspicious-memset-usage 6 This check finds ``memset()`` calls with potential mistakes in their arguments. 7 Considering the function as ``void* memset(void* destination, int fill_value, 29 Corresponding cpplint.py check name: ``runtime/memset``. 44 memset(ip, '0', 1); // suspicious 45 memset(cp, '0', 1); // OK 48 memset(ip, 0xabcd, 1); // fill value gets truncated 49 memset(ip, 0x00, 1); // OK 52 memset(ip, sizeof(int), v); // zero length, potentially swapped [all …]
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AArch64/ |
| H A D | arm64-memset-to-bzero.ll | 8 ; Constant size memset to zero. 10 ; LINUX: {{b|bl}} memset 17 ; Variable size memset to zero. 19 ; LINUX: {{b|bl}} memset 27 ; Variable size checked memset to zero. 29 ; LINUX: {{b|bl}} memset 43 ; LINUX: {{b|bl}} memset 55 ; memset with something that is not a zero, no change. 57 ; LINUX: {{b|bl}} memset 67 ; LINUX: {{b|bl}} memset [all …]
|
| H A D | arm64-memset-to-bzero-pgso.ll | 6 ; For small size (<= 256), we do not change memset to bzero. 8 ; CHECK-LINUX: {{b|bl}} memset 20 ; CHECK-LINUX: {{b|bl}} memset 30 ; CHECK-LINUX: {{b|bl}} memset 41 ; CHECK-LINUX: {{b|bl}} memset 56 ; CHECK-LINUX: {{b|bl}} memset 67 ; CHECK-LINUX: {{b|bl}} memset 80 ; memset with something that is not a zero, no change. 82 ; CHECK-LINUX: {{b|bl}} memset 93 ; CHECK-LINUX: {{b|bl}} memset [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/GlobalOpt/ |
| H A D | ctor-memset.ll | 31 ; memset of all-zero global 34 call void @llvm.memset.p0.i64(ptr @g0, i8 0, i64 8, i1 false) 38 ; memset of zero prefix 46 ; memset of zero suffix 54 ; memset of some non-zero bytes 66 ; memset of some undef bytes 78 ; memset including padding bytes 88 ; memset of non-zero value (matching initializer) 96 ; memset of non-zero value (not matching initializer) 108 ; memset of zero value in differently-sized address space [all …]
|
| /llvm-project-15.0.7/llvm/test/CodeGen/SystemZ/ |
| H A D | memset-03.ll | 5 declare void @llvm.memset.p0i8.i32(i8 *nocapture, i8, i32, i1) nounwind 6 declare void @llvm.memset.p0i8.i64(i8 *nocapture, i8, i64, i1) nounwind 13 call void @llvm.memset.p0i8.i32(i8* %dest, i8 0, i32 0, i1 false) 22 call void @llvm.memset.p0i8.i64(i8* %dest, i8 0, i64 0, i1 false) 31 call void @llvm.memset.p0i8.i32(i8* %dest, i8 0, i32 1, i1 false) 40 call void @llvm.memset.p0i8.i64(i8* %dest, i8 0, i64 1, i1 false) 49 call void @llvm.memset.p0i8.i32(i8* %dest, i8 0, i32 2, i1 false) 58 call void @llvm.memset.p0i8.i64(i8* %dest, i8 0, i64 2, i1 false) 68 call void @llvm.memset.p0i8.i32(i8* %dest, i8 0, i32 3, i1 false) 78 call void @llvm.memset.p0i8.i64(i8* %dest, i8 0, i64 3, i1 false) [all …]
|
| H A D | memset-04.ll | 5 declare void @llvm.memset.p0i8.i32(i8 *nocapture, i8, i32, i1) nounwind 6 declare void @llvm.memset.p0i8.i64(i8 *nocapture, i8, i64, i1) nounwind 13 call void @llvm.memset.p0i8.i32(i8* %dest, i8 -1, i32 0, i1 false) 22 call void @llvm.memset.p0i8.i64(i8* %dest, i8 -1, i64 0, i1 false) 31 call void @llvm.memset.p0i8.i32(i8* %dest, i8 -1, i32 1, i1 false) 40 call void @llvm.memset.p0i8.i64(i8* %dest, i8 -1, i64 1, i1 false) 49 call void @llvm.memset.p0i8.i32(i8* %dest, i8 -1, i32 2, i1 false) 58 call void @llvm.memset.p0i8.i64(i8* %dest, i8 -1, i64 2, i1 false) 68 call void @llvm.memset.p0i8.i32(i8* %dest, i8 -1, i32 3, i1 false) 78 call void @llvm.memset.p0i8.i64(i8* %dest, i8 -1, i64 3, i1 false) [all …]
|
| H A D | memset-02.ll | 1 ; Test memset in cases where the set value is a constant other than 0 and -1. 5 declare void @llvm.memset.p0i8.i32(i8 *nocapture, i8, i32, i1) nounwind 6 declare void @llvm.memset.p0i8.i64(i8 *nocapture, i8, i64, i1) nounwind 13 call void @llvm.memset.p0i8.i32(i8* %dest, i8 128, i32 0, i1 false) 22 call void @llvm.memset.p0i8.i64(i8* %dest, i8 128, i64 0, i1 false) 31 call void @llvm.memset.p0i8.i32(i8* %dest, i8 128, i32 1, i1 false) 40 call void @llvm.memset.p0i8.i64(i8* %dest, i8 128, i64 1, i1 false) 49 call void @llvm.memset.p0i8.i32(i8* %dest, i8 128, i32 2, i1 false) 58 call void @llvm.memset.p0i8.i64(i8* %dest, i8 128, i64 2, i1 false) 68 call void @llvm.memset.p0i8.i32(i8* %dest, i8 128, i32 3, i1 false) [all …]
|
| H A D | memset-08.ll | 6 declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) 14 call void @llvm.memset.p0i8.i64(i8* align 16 %Dst, i8 %val, i64 17, i1 false) 26 call void @llvm.memset.p0i8.i64(i8* align 16 %Dst, i8 %val, i64 18, i1 false) 38 call void @llvm.memset.p0i8.i64(i8* align 16 %Dst, i8 %val, i64 19, i1 false) 50 call void @llvm.memset.p0i8.i64(i8* align 16 %Dst, i8 %val, i64 20, i1 false) 62 call void @llvm.memset.p0i8.i64(i8* align 16 %Dst, i8 %val, i64 21, i1 false) 74 call void @llvm.memset.p0i8.i64(i8* align 16 %Dst, i8 %val, i64 22, i1 false) 216 call void @llvm.memset.p0i8.i64(i8* align 16 %Dst, i8 1, i64 17, i1 false) 236 call void @llvm.memset.p0i8.i64(i8* align 16 %Dst, i8 0, i64 18, i1 false) 247 call void @llvm.memset.p0i8.i64(i8* align 16 %Dst, i8 1, i64 19, i1 false) [all …]
|
| /llvm-project-15.0.7/llvm/test/CodeGen/X86/ |
| H A D | memset-minsize.ll | 10 call void @llvm.memset.p0.i32(ptr align 4 %ptr, i8 0, i32 8, i1 false) 23 call void @llvm.memset.p0.i32(ptr align 4 %ptr, i8 0, i32 128, i1 false) 33 ; CHECK-NEXT: callq memset@PLT 47 ; CHECK-NEXT: callq memset@PLT 61 ; CHECK-NEXT: callq memset@PLT 75 ; CHECK-NEXT: callq memset@PLT 89 ; CHECK-NEXT: callq memset@PLT 103 ; CHECK-NEXT: callq memset@PLT 117 ; CHECK-NEXT: callq memset@PLT 131 ; CHECK-NEXT: callq memset@PLT [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/MemCpyOpt/ |
| H A D | memset-memcpy-to-2x-memset.ll | 12 call void @llvm.memset.p0i8.i64(i8* %dst1, i8 %c, i64 128, i1 false) 23 call void @llvm.memset.p0i8.i64(i8* %dst1, i8 %c, i64 128, i1 false) 34 call void @llvm.memset.p0i8.i64(i8* %dst1, i8 %c, i64 100, i1 false) 45 call void @llvm.memset.p0i8.i64(i8* align 8 %dst1, i8 %c, i64 128, i1 false) 56 call void @llvm.memset.p0i8.i64(i8* align 8 %dst1, i8 %c, i64 128, i1 false) 67 call void @llvm.memset.p0i8.i32(i8* align 8 %dst1, i8 %c, i32 128, i1 false) 79 call void @llvm.memset.p0i8.i64(i8* %dst1, i8 %c, i64 128, i1 false) 92 call void @llvm.memset.p0i8.i64(i8* %dst1, i8 %c, i64 %dst1_size, i1 false) 103 call void @llvm.memset.p0i8.i64(i8* %dst1, i8 %c, i64 128, i1 false) 108 declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) [all …]
|
| H A D | memset-memcpy-oversized.ll | 4 ; memset -> memcpy forwarding, if memcpy is larger than memset, but trailing 20 call void @llvm.memset.p0i8.i64(i8* align 8 %b, i8 0, i64 12, i1 false) 38 call void @llvm.memset.p0i8.i64(i8* align 8 %b, i8 0, i64 12, i1 false) 56 call void @llvm.memset.p0i8.i64(i8* align 8 %a, i8 0, i64 12, i1 false) 106 call void @llvm.memset.p0i8.i64(i8* align 8 %b, i8 0, i64 12, i1 true) 111 ; Memcpy is volatile, memset is not. Cannot be optimized. 127 ; Write between memset and memcpy, can't optimize. 145 ; A write prior to the memset, which is part of the memset region. 164 ; A write prior to the memset, which is part of the memcpy (but not memset) region. 185 ; A write prior to the memset, which is part of both the memset and memcpy regions. [all …]
|
| /llvm-project-15.0.7/llvm/test/CodeGen/Mips/ |
| H A D | long-calls.ll | 20 declare void @llvm.memset.p0i8.i32(i8* nocapture writeonly, i8, i32, i1) 28 ; OFF: jal memset 30 ; Save the `callee` and `memset` addresses in $25 register 36 ; ON32: lui $1, %hi(memset) 37 ; ON32: addiu $25, $1, %lo(memset) 46 ; ON64: lui $2, %highest(memset) 47 ; ON64: daddiu $1, $2, %higher(memset) 49 ; ON64: daddiu $1, $1, %hi(memset) 51 ; ON64: daddiu $25, $1, %lo(memset) 55 …call void @llvm.memset.p0i8.i32(i8* align 4 bitcast ([20 x i32]* @val to i8*), i8 0, i32 80, i1 fa…
|
| /llvm-project-15.0.7/lldb/unittests/Host/ |
| H A D | SocketAddressTest.cpp | 61 memset(buffer, 'x', sizeof(buffer)); in TEST_F() 64 memset(buffer, 'x', sizeof(buffer)); in TEST_F() 67 memset(buffer, 'x', sizeof(buffer)); in TEST_F() 69 memset(buffer, 'x', sizeof(buffer)); in TEST_F() 72 memset(buffer, 'x', sizeof(buffer)); in TEST_F() 75 memset(buffer, 'x', sizeof(buffer)); in TEST_F() 77 memset(buffer, 'x', sizeof(buffer)); in TEST_F() 79 memset(buffer, 'x', sizeof(buffer)); in TEST_F()
|
| /llvm-project-15.0.7/llvm/test/Transforms/DeadStoreElimination/ |
| H A D | OverwriteStoreBegin.ll | 18 call void @llvm.memset.p0i8.i64(i8* align 4 %p3, i8 0, i64 28, i1 false) 95 call void @llvm.memset.p0i8.i64(i8* align 4 %p3, i8 0, i64 28, i1 false) 116 ; Atomicity of the store is weaker from the memset 145 call void @llvm.memset.p0i8.i64(i8* align 4 %p3, i8 0, i64 32, i1 false) 151 ; Changing the memset start and length is okay here because the 152 ; store is a multiple of the memset element size 185 call void @llvm.memset.p0i8.i64(i8* align 4 %p3, i8 0, i64 28, i1 false) 223 call void @llvm.memset.p0i8.i64(i8* align 8 %p3, i8 0, i64 32, i1 false) 254 call void @llvm.memset.p0i8.i64(i8* align 4 %p3, i8 0, i64 32, i1 false) 433 declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) nounwind [all …]
|
| H A D | memory-intrinsics-sizes.ll | 9 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 %len, i1 false) 10 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 %len, i1 false) 20 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 %len.1, i1 false) 21 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 %len.2, i1 false) 31 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 %len, i1 false) 32 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 100, i1 false) 42 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 100, i1 false) 43 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 %len, i1 false) 56 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 %len, i1 false) 68 call void @llvm.memset.p0i8.i64(i8* align 1 %ptr, i8 0, i64 %len, i1 false) [all …]
|
| /llvm-project-15.0.7/llvm/test/CodeGen/WebAssembly/ |
| H A D | mem-intrinsics.ll | 3 ; Test memcpy, memmove, and memset intrinsics. 9 declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i1) 46 ; CHECK: call $push0=, memset, $0, $1, $2{{$}} 49 call void @llvm.memset.p0i8.i32(i8* %dst, i8 %src, i32 %len, i1 false) 54 ; CHECK: call $drop=, memset, $0, $1, $2{{$}} 57 call void @llvm.memset.p0i8.i32(i8* %dst, i8 %src, i32 %len, i1 false) 77 ; If the result value of memset doesn't get stackified, it should be marked 82 ; CHECK: call $drop=, memset, $0, $1, $2 95 call void @llvm.memset.p0i8.i32(i8* %arg, i8 %arg1, i32 %arg2, i1 false) 112 ; result of the memset *is* stackified. [all …]
|