File: memcpy.ll

package info (click to toggle)
pocl 7.1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 29,768 kB
  • sloc: lisp: 151,669; ansic: 135,425; cpp: 65,801; python: 1,846; sh: 1,084; ruby: 255; pascal: 231; tcl: 180; makefile: 174; asm: 81; java: 72; xml: 49
file content (23 lines) | stat: -rw-r--r-- 1,087 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23


; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite)
define void @__pocl_tce_memcpy_p1_p2_i32(ptr addrspace(1) nocapture noundef writeonly %dst, ptr addrspace(2) nocapture noundef readonly %src, i32 noundef %bytes, i1 noundef %unused) local_unnamed_addr #0 {
entry:
  %cmp5.not = icmp eq i32 %bytes, 0
  br i1 %cmp5.not, label %for.cond.cleanup, label %for.body

for.cond.cleanup:                                 ; preds = %for.body, %entry
  ret void

for.body:                                         ; preds = %for.body, %entry
  %i.06 = phi i32 [ %inc, %for.body ], [ 0, %entry ]
  %arrayidx = getelementptr inbounds i8, ptr addrspace(2) %src, i32 %i.06
  %0 = load i8, ptr addrspace(2) %arrayidx, align 1
  %arrayidx1 = getelementptr inbounds i8, ptr addrspace(1) %dst, i32 %i.06
  store i8 %0, ptr addrspace(1) %arrayidx1, align 1
  %inc = add nuw i32 %i.06, 1
  %exitcond.not = icmp eq i32 %inc, %bytes
  br i1 %exitcond.not, label %for.cond.cleanup, label %for.body
}

attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }