Home
last modified time | relevance | path

Searched refs:memmove (Results 1 – 25 of 270) sorted by relevance

1234567891011

/llvm-project-15.0.7/clang-tools-extra/test/clang-tidy/checkers/bugprone/
H A Dundefined-memory-manipulation.cpp9 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 Dmemmove-1.ll1 ; 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 Dmemmove-2.ll1 ; 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 Dmemmove.ll2 ; 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 Delement-atomic-memintrins.ll113 ;; ----- 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 Darc-non-pod-memaccess.m9 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 Dmemmove_test.cpp22 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 Dno-builtin-2.c8 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 Dmemintrinsics.ll6 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 Dmemory-intrinsics-sizes.ll207 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 Dupgrade-memory-intrinsics.ll3 ; 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 Dmemintrin.ll25 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 Dorigin_mem_intrinsic.ll9 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 DTypeLocBuilder.cpp99 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 Dmemory-intrinsics.ll4 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 Dmem-intrinsics.ll11 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 Dtrivial-auto-var-init-call.ll4 ; 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 Delement-wise-atomic-memory-intrinsics.ll32 …; 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 Dbstring.c359 #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 Dtailcall-mem-intrinsics.ll12 ; 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 Dwrong-chain-fixed-load.ll7 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 Dhexagon-memmove2.ll6 ; 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 Ddeoptimize.ll7 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 Datomic-memory-intrinsics.ll87 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 Dpromote-alloca-mem-intrinsics.ll7 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…

1234567891011