1#ifndef LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H
2#define LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H
3
4#include "llvm/ADT/StringRef.h"
5
6namespace llvm {
7namespace libc_benchmarks {
8
9/// Memory function prototype and configuration.
10using MemcpyFunction = void *(*)(void *__restrict, const void *__restrict,
11 size_t);
12struct MemcpyConfiguration {
13 MemcpyFunction Function;
14 llvm::StringRef Name;
15};
16
17using MemmoveFunction = void *(*)(void *, const void *, size_t);
18struct MemmoveConfiguration {
19 MemmoveFunction Function;
20 llvm::StringRef Name;
21};
22
23using MemsetFunction = void *(*)(void *, int, size_t);
24struct MemsetConfiguration {
25 MemsetFunction Function;
26 llvm::StringRef Name;
27};
28
29using BzeroFunction = void (*)(void *, size_t);
30struct BzeroConfiguration {
31 BzeroFunction Function;
32 llvm::StringRef Name;
33};
34
35using MemcmpOrBcmpFunction = int (*)(const void *, const void *, size_t);
36struct MemcmpOrBcmpConfiguration {
37 MemcmpOrBcmpFunction Function;
38 llvm::StringRef Name;
39};
40
41} // namespace libc_benchmarks
42} // namespace llvm
43
44#endif /* LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H */
45

source code of libc/benchmarks/LibcFunctionPrototypes.h