| /llvm-project-15.0.7/clang-tools-extra/test/clang-tidy/checkers/bugprone/ |
| H A D | undefined-memory-manipulation.cpp | 9 using ::memmove; 79 memmove(a, b, sizeof(T)); in memmove_temp() 118 memmove(&vf, &p, sizeof(int)); in notTriviallyCopyable() 120 memmove(&d, &p, sizeof(int)); in notTriviallyCopyable() 122 memmove(&p, &c, sizeof(int)); in notTriviallyCopyable() 202 memmove(&p, &p, sizeof(int)); in triviallyCopyable() 205 memmove(&i, &i, sizeof(int)); in triviallyCopyable() 206 memmove(ia, ia, sizeof(int)); in triviallyCopyable() 209 memmove(&b, &b, sizeof(bool)); in triviallyCopyable() 210 memmove(ba, ba, sizeof(bool)); in triviallyCopyable() [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/InstCombine/ |
| H A D | memmove-1.ll | 1 ; Test that the memmove library call simplifier works correctly. 7 declare i8* @memmove(i8*, i8*, i32) 9 ; Check memmove(mem1, mem2, size) -> llvm.memmove(mem1, mem2, size, 1). 13 %ret = call i8* @memmove(i8* %mem1, i8* %mem2, i32 %size) 14 ; CHECK: call void @llvm.memmove 21 ; CHECK-NEXT: tail call void @llvm.memmove 23 %ret = tail call i8* @memmove(i8* %mem1, i8* %mem2, i32 %size) 29 ; CHECK-NEXT: %ret = musttail call i8* @memmove(i8* %mem1, i8* %mem2, i32 %size) 31 %ret = musttail call i8* @memmove(i8* %mem1, i8* %mem2, i32 %size) 37 %ret = call dereferenceable(1) i8* @memmove(i8* %mem1, i8* %mem2, i32 %size) [all …]
|
| H A D | memmove-2.ll | 1 ; Test that the memmove library call simplifier works correctly. 7 declare i8 @memmove(i8*, i8*, i32) 9 ; Check that memmove functions with the wrong prototype aren't simplified. 13 %ret = call i8 @memmove(i8* %mem1, i8* %mem2, i32 %size) 14 ; CHECK: call i8 @memmove
|
| H A D | memmove.ll | 2 ; This test makes sure that memmove instructions are properly eliminated. 15 call void @llvm.memmove.p0i8.p0i8.i32(i8* %A, i8* %B, i32 0, i1 false) 25 …call void @llvm.memmove.p0i8.p0i8.i32(i8* %A, i8* getelementptr inbounds ([33 x i8], [33 x i8]* @S… 43 call void @llvm.memmove.p0i8.p0i8.i32(i8* align 2 %target_p, i8* align 2 %h_p, i32 2, i1 false) 44 call void @llvm.memmove.p0i8.p0i8.i32(i8* align 4 %target_p, i8* align 4 %hel_p, i32 4, i1 false) 45 …call void @llvm.memmove.p0i8.p0i8.i32(i8* align 8 %target_p, i8* align 8 %hello_u_p, i32 8, i1 fal… 54 tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %a, i8* %a, i32 100, i1 false) 65 call void @llvm.memmove.p0i8.p0i8.i32(i8* %dest, i8* %src, i32 16, i1 false) 70 declare void @llvm.memmove.p0i8.p0i8.i32(i8* nocapture, i8* nocapture readonly, i32, i1) argmemonly…
|
| H A D | element-atomic-memintrins.ll | 113 ;; ----- memmove ------ 117 ; Check that a memmove from a global constant is converted into a memcpy 131 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 1 %dest, i8* align 1 %src… 132 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 2 %dest, i8* align 2 %src… 133 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 4 %dest, i8* align 4 %src… 134 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 8 %dest, i8* align 8 %src… 139 ; memmove with src==dest is removed 152 ; memmove with a small constant length is converted to a load/store pair 163 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 1 %dest, i8* align 1 %src… 164 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 1 %dest, i8* align 1 %src… [all …]
|
| /llvm-project-15.0.7/clang/test/SemaObjC/ |
| H A D | arc-non-pod-memaccess.m | 9 void *memmove(void *s1, const void *s2, __SIZE_TYPE__ n); function 40 …memmove(sip, ptr, 17); // expected-warning{{destination for this 'memmove' call is a pointer to ow… 42 …memmove(wip, ptr, 17); // expected-warning{{destination for this 'memmove' call is a pointer to ow… 44 …memmove(aip, ptr, 17); // expected-warning{{destination for this 'memmove' call is a pointer to ow… 46 memmove(uip, ptr, 17); 48 …memmove(ptr, sip, 17); // expected-warning{{source of this 'memmove' call is a pointer to ownershi… 50 …memmove(ptr, wip, 17); // expected-warning{{source of this 'memmove' call is a pointer to ownershi… 52 …memmove(ptr, aip, 17); // expected-warning{{source of this 'memmove' call is a pointer to ownershi… 54 memmove(ptr, uip, 17);
|
| /llvm-project-15.0.7/libc/test/src/string/ |
| H A D | memmove_test.cpp | 22 void *const Ret = __llvm_libc::memmove(Dst, Buffer + 2, 0); in TEST() 31 void *const Ret = __llvm_libc::memmove(Dst, Buffer, 1); in TEST() 42 void *const Ret = __llvm_libc::memmove(Dst, Buffer + 2, 2); in TEST() 51 void *const Ret = __llvm_libc::memmove(Dst, Buffer + 1, 2); in TEST() 64 void *const Ret = __llvm_libc::memmove(Dst, Buffer + 2, 1); in TEST() 73 void *const Ret = __llvm_libc::memmove(Dst, Buffer + 1, 1); in TEST() 108 __llvm_libc::memmove(Dst, Buffer.data() + SrcOffset, Size); in TEST()
|
| /llvm-project-15.0.7/clang/test/CodeGen/ |
| H A D | no-builtin-2.c | 8 void *memmove(void *d, const void *s, size_t n); 19 memmove(d, s, n); in foo1() 31 memmove(d, s, n); in foo2() 43 memmove(d, s, n); in foo3() 55 memmove(s, d, n); in foo4()
|
| /llvm-project-15.0.7/llvm/test/Transforms/DeadStoreElimination/ |
| H A D | memintrinsics.ll | 6 declare void @llvm.memmove.p0i8.p0i8.i8(i8* nocapture, i8* nocapture, i8, i1) nounwind 23 ; CHECK-NEXT: call void @llvm.memmove.p0i8.p0i8.i8(i8* [[A]], i8* [[B:%.*]], i8 12, i1 false) 26 store i8 0, i8* %A ;; Written to by memmove 28 call void @llvm.memmove.p0i8.p0i8.i8(i8* %A, i8* %B, i8 12, i1 false) 36 ; CHECK-NEXT: call void @llvm.memmove.p0i8.p0i8.i8(i8* [[A]], i8* [[B:%.*]], i8 12, i1 false) 39 store i8 0, i8* %A ;; Written to by memmove 41 call void @llvm.memmove.p0i8.p0i8.i8(i8* %A, i8* %B, i8 12, i1 false) 59 declare void @llvm.memmove.element.unordered.atomic.p0i16.p0i16.i16(i16* nocapture, i16* nocapture,… 85 store atomic i16 0, i16* %A unordered, align 2 ;; Written to by memmove 86 store atomic i16 0, i16* %B unordered, align 2 ;; Read by memmove [all …]
|
| H A D | memory-intrinsics-sizes.ll | 207 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %len, i1 false) 208 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %len, i1 false) 229 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %len, i1 false) 230 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 100, i1 false) 240 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 100, i1 false) 241 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %len, i1 false) 251 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %len, i1 false) 273 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 100, i1 false) 293 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %len, i1 false) 326 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 100, i1 false) [all …]
|
| /llvm-project-15.0.7/llvm/test/Bitcode/ |
| H A D | upgrade-memory-intrinsics.ll | 3 ; Test to ensure that calls to the memcpy/memmove/memset intrinsics are auto-upgraded 11 ; CHECK: call void @llvm.memmove.p0i8.p0i8.i64(i8* align 4 %p2, i8* align 4 %p3, i64 1000, i1 false) 14 call void @llvm.memmove.p0i8.p0i8.i64(i8* %p2, i8* %p3, i64 1000, i32 4, i1 false) 23 ; CHECK: call void @llvm.memmove.p0i8.p0i8.i64(i8* %p2, i8* %p3, i64 1000, i1 false) 26 call void @llvm.memmove.p0i8.p0i8.i64(i8* %p2, i8* %p3, i64 1000, i32 0, i1 false) 35 ; CHECK: call void @llvm.memmove.p0i8.p0i8.i64(i8* nonnull align 4 %p2, i8* readonly align 4 %p3, i… 38 …call void @llvm.memmove.p0i8.p0i8.i64(i8* nonnull %p2, i8* readonly %p3, i64 zeroext 1000, i32 sig… 44 ; CHECK: declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, … 47 declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32,…
|
| /llvm-project-15.0.7/llvm/test/Analysis/Lint/ |
| H A D | memintrin.ll | 25 declare void @llvm.memmove.p0i8.p0i8.i32(i8* nocapture writeonly, i8* nocapture readonly, i32, i1) … 34 ; CHECK-NEXT: call void @llvm.memmove.p0i8.p0i8.i32(i8* align 4 %dst.i8, i8* align 4 %src.i8, i32 2… 35 call void @llvm.memmove.p0i8.p0i8.i32(i8* align 4 %dst.i8, i8* align 4 %src.i8, i32 200, i1 false) 37 ; CHECK-NEXT: call void @llvm.memmove.p0i8.p0i8.i32(i8* align 2 %dst.i8, i8* align 8 %src.i8, i32 2… 38 call void @llvm.memmove.p0i8.p0i8.i32(i8* align 2 %dst.i8, i8* align 8 %src.i8, i32 200, i1 false) 39 ; CHECK-NOT: @llvm.memmove.p0i8.p0i8.i32 40 call void @llvm.memmove.p0i8.p0i8.i32(i8* align 1 %dst.i8, i8* align 4 %src.i8, i32 200, i1 false) 41 call void @llvm.memmove.p0i8.p0i8.i32(i8* align 2 %dst.i8, i8* align 2 %src.i8, i32 200, i1 false) 42 call void @llvm.memmove.p0i8.p0i8.i32(i8* align 2 %dst.i8, i8* align 4 %src.i8, i32 200, i1 false)
|
| /llvm-project-15.0.7/llvm/test/Instrumentation/DataFlowSanitizer/ |
| H A D | origin_mem_intrinsic.ll | 9 declare void @llvm.memmove.p0i8.p0i8.i32(i8*, i8*, i32, i1) 23 define void @memmove(i8* %d, i8* %s, i32 %l) { 24 ; CHECK: @memmove.dfsan 27 …; CHECK: call void @llvm.memmove.p0i8.p0i8.i32(i8* align [[#SBYTES]] {{.*}}, i8* align [[#SBYTES]]… 28 ; CHECK: call void @llvm.memmove.p0i8.p0i8.i32(i8* %d, i8* %s, i32 %l, i1 false) 30 call void @llvm.memmove.p0i8.p0i8.i32(i8* %d, i8* %s, i32 %l, i1 0)
|
| /llvm-project-15.0.7/clang/lib/Sema/ |
| H A D | TypeLocBuilder.cpp | 99 memmove(&Buffer[Index - 4], &Buffer[Index], NumBytesAtAlign4); in pushImpl() 110 memmove(&Buffer[Index + 4], &Buffer[Index], NumBytesAtAlign4); in pushImpl() 121 memmove(&Buffer[Index - 4], &Buffer[Index], NumBytesAtAlign4); in pushImpl() 133 memmove(&Buffer[Index - 4], &Buffer[Index], NumBytesAtAlign4); in pushImpl() 144 memmove(&Buffer[Index + 4], &Buffer[Index], NumBytesAtAlign4); in pushImpl()
|
| /llvm-project-15.0.7/llvm/test/Transforms/CodeGenPrepare/ARM/ |
| H A D | memory-intrinsics.ll | 4 declare void @llvm.memmove.p0i8.p0i8.i32(i8*, i8*, i32, i1) nounwind 21 ; CHECK: call void @llvm.memmove.p0i8.p0i8.i32(i8* align 4 %dst, i8* align 8 %src, i32 %N, i1 false) 22 ; CHECK: call void @llvm.memmove.p0i8.p0i8.i32(i8* align 4 %dst, i8* align 8 %src, i32 %N, i1 false) 23 ; CHECK: call void @llvm.memmove.p0i8.p0i8.i32(i8* align 8 %dst, i8* align 16 %src, i32 %N, i1 fals… 25 call void @llvm.memmove.p0i8.p0i8.i32(i8* %dst, i8* %src, i32 %N, i1 false) 26 call void @llvm.memmove.p0i8.p0i8.i32(i8* align 2 %dst, i8* align 2 %src, i32 %N, i1 false) 27 call void @llvm.memmove.p0i8.p0i8.i32(i8* align 8 %dst, i8* align 16 %src, i32 %N, i1 false)
|
| /llvm-project-15.0.7/llvm/test/Instrumentation/AddressSanitizer/ |
| H A D | mem-intrinsics.ll | 11 declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1) nounwind 17 tail call void @llvm.memmove.p0i8.p0i8.i64(i8* %a, i8* %b, i64 100, i1 false) 26 ; CHECK-NOPREFIX: @memmove 33 tail call void @llvm.memmove.p0i8.p0i8.i64(i8* %a, i8* %b, i64 100, i1 false) 39 ; CHECK: @llvm.memmove 44 declare void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i64(i8* nocapture writeonly, i8* noca… 53 …; CHECK-NEXT: tail call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i64(i8* align 1 %a, … 57 …tail call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i64(i8* align 1 %a, i8* align 1 %b…
|
| /llvm-project-15.0.7/llvm/test/Transforms/Util/ |
| H A D | trivial-auto-var-init-call.ll | 4 ; Emit remarks for memcpy, memmove, memset, bzero. 48 ; CHECK-NEXT: Call to memmove inserted by -ftrivial-auto-var-init. 56 ; YAML-NEXT: - Callee: memmove 99 ; Emit remarks for memcpy, memmove, memset, bzero with known constant sizes. 157 ; YAML-NEXT: - Callee: memmove 192 ; Emit remarks for memcpy, memmove, memset marked volatile. 244 ; YAML-NEXT: - Callee: memmove 260 ; Emit remarks for memcpy, memmove, memset marked atomic. 312 ; YAML-NEXT: - Callee: memmove 328 ; Emit remarks for memcpy, memmove, memset, bzero with known constant sizes to [all …]
|
| /llvm-project-15.0.7/llvm/test/Verifier/ |
| H A D | element-wise-atomic-memory-intrinsics.ll | 32 …; CHECK-NEXT: call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 4 %P, i8* a… 33 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 4 %P, i8* align 4 %Q, i32… 36 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 4 %P, i8* align 4 %Q, i32… 38 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 4 %P, i8* align 4 %Q, i32… 41 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* %P, i8* align 4 %Q, i32 1, i32 … 43 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 1 %P, i8* align 4 %Q, i32… 46 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 4 %P, i8* %Q, i32 1, i32 … 48 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* align 4 %P, i8* align 1 %Q, i32… 53 declare void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32…
|
| /llvm-project-15.0.7/clang/test/Analysis/ |
| H A D | bstring.c | 359 #define memmove(a,b,c) __memmove_chk(a,b,c,(size_t)-1) macro 363 #define memmove BUILTIN(memmove) macro 364 void *memmove(void *s1, const void *s2, size_t n); 373 memmove(dst, src, 4); // no-warning in memmove0() 375 clang_analyzer_eval(memmove(dst, src, 4) == dst); // expected-warning{{TRUE}} in memmove0() 386 memmove(dst, src, 5); // expected-warning{{out-of-bound}} in memmove1() 393 memmove(dst, src, 4); // expected-warning{{Memory copy function overflows the destination buffer}} in memmove2()
|
| /llvm-project-15.0.7/llvm/test/CodeGen/X86/ |
| H A D | tailcall-mem-intrinsics.ll | 12 ; CHECK: jmp memmove 15 tail call void @llvm.memmove.p0.p0.i32(ptr %p, ptr %q, i32 %n, i1 false) 36 ; CHECK: jmp memmove 39 tail call void @llvm.memmove.p0.p0.i32(ptr %p, ptr %q, i32 %n, i1 false) 52 declare void @llvm.memmove.p0.p0.i32(ptr nocapture, ptr nocapture readonly, i32, i1) #0
|
| /llvm-project-15.0.7/llvm/test/CodeGen/RISCV/rvv/ |
| H A D | wrong-chain-fixed-load.ll | 7 define void @do.memmove() nounwind { 8 ; CHECK-LABEL: do.memmove: 23 tail call void @llvm.memmove.p0.p0.i64( 30 declare void @llvm.memmove.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1 immar…
|
| /llvm-project-15.0.7/llvm/test/CodeGen/Hexagon/loop-idiom/ |
| H A D | hexagon-memmove2.ll | 6 ; LoopIdiom about memmove and strided loops, this got miscompiled into a memcpy 7 ; instead of a memmove. If we get the memmove transform back, this will catch 17 ; CHECK: memmove
|
| /llvm-project-15.0.7/llvm/test/Analysis/BasicAA/ |
| H A D | deoptimize.ll | 7 declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) 21 ; Check that global G1 is reported as Ref by memcpy/memmove calls. 43 ; CHECK: Just Mod: Ptr: i8* %A <-> call void @llvm.memmove.p0i8.p0i8.i64(i8* %A, i8* %B, i64 -1, … 44 ; CHECK: Just Ref: Ptr: i8* %B <-> call void @llvm.memmove.p0i8.p0i8.i64(i8* %A, i8* %B, i64 -1, … 45 ; CHECK: Just Ref: Ptr: i32* @G1 <-> call void @llvm.memmove.p0i8.p0i8.i64(i8* %A, i8* %B, i64 -1… 54 call void @llvm.memmove.p0i8.p0i8.i64(i8* %A, i8* %B, i64 -1, i1 false) [ "deopt"() ]
|
| H A D | atomic-memory-intrinsics.ll | 87 declare void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i64(i8* nocapture writeonly, i8* noca… 91 ; CHECK: Just Ref: Ptr: i8* %a <-> call void @llvm.memmove.element.unordered.atomic.p0i8.p0… 92 ; CHECK-NEXT: Just Mod: Ptr: i8* %b <-> call void @llvm.memmove.element.unordered.atomic.p0i8.p0… 93 ; CHECK-NEXT: Just Ref: Ptr: i8* %a.gep.1 <-> call void @llvm.memmove.element.unordered.atomic.p… 94 ; CHECK-NEXT: NoModRef: Ptr: i8* %a.gep.5 <-> call void @llvm.memmove.element.unordered.atomic.p… 95 ; CHECK-NEXT: Just Mod: Ptr: i8* %b.gep.1 <-> call void @llvm.memmove.element.unordered.atomic.p… 96 ; CHECK-NEXT: NoModRef: Ptr: i8* %b.gep.5 <-> call void @llvm.memmove.element.unordered.atomic.p… 105 …call void @llvm.memmove.element.unordered.atomic.p0i8.p0i8.i64(i8* align 1 %b, i8* align 1 %a, i64… 115 ; CHECK: Just Ref: Ptr: i8* %a <-> call void @llvm.memmove.element.unordered.atomic.p0i8.p0… 116 ; CHECK-NEXT: Just Mod: Ptr: i8* %b <-> call void @llvm.memmove.element.unordered.atomic.p0i8.p0… [all …]
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AMDGPU/ |
| H A D | promote-alloca-mem-intrinsics.ll | 7 declare void @llvm.memmove.p0i8.p1i8.i32(i8* nocapture, i8 addrspace(1)* nocapture, i32, i1) #0 8 declare void @llvm.memmove.p1i8.p0i8.i32(i8 addrspace(1)* nocapture, i8* nocapture, i32, i1) #0 9 declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) #0 31 ; CHECK: call void @llvm.memmove.p3i8.p1i8.i32(i8 addrspace(3)* align 4 %alloca.bc, i8 addrspace(1)… 32 ; CHECK: call void @llvm.memmove.p1i8.p3i8.i32(i8 addrspace(1)* align 4 %out.bc, i8 addrspace(3)* a… 38 …call void @llvm.memmove.p0i8.p1i8.i32(i8* align 4 %alloca.bc, i8 addrspace(1)* align 4 %in.bc, i32… 39 …call void @llvm.memmove.p1i8.p0i8.i32(i8 addrspace(1)* align 4 %out.bc, i8* align 4 %alloca.bc, i3… 84 ; CHECK: call void @llvm.memmove.p3i8.p3i8.i64(i8 addrspace(3)* align 8 dereferenceable(16) %i, i8 … 92 …call void @llvm.memmove.p0i8.p0i8.i64(i8* align 8 dereferenceable(16) %i, i8* align 8 dereferencea…
|