def memcpy(builder, dst, src, count):
 assert (dst.type == src.type)
 with for_range(builder, count, intp=count.type) as loop:
  out_ptr = builder.gep(dst, [loop.index])
  in_ptr = builder.gep(src, [loop.index])
  builder.store(builder.load(in_ptr), out_ptr)

def memcpy ( builder , dst , src , count ) : assert ( dst . type == src . type ) with for_range ( builder , count , intp = count . type ) as loop : out_ptr = builder . gep ( dst , [ loop . index ] ) in_ptr = builder . gep ( src , [ loop . index ] ) builder . store ( builder . load ( in_ptr ) , out_ptr )
emit a memcpy to the builder .