mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-10-07 19:03:57 +00:00
984b800a03
This is a follow-up to https://reviews.llvm.org/D140896, split into several parts as it touches a lot of files. Differential Revision: https://reviews.llvm.org/D141298
54 lines
2.1 KiB
C++
54 lines
2.1 KiB
C++
#include "LibcFunctionPrototypes.h"
|
|
#include "llvm/ADT/ArrayRef.h"
|
|
#include <cstddef>
|
|
|
|
namespace __llvm_libc {
|
|
|
|
extern void *memcpy(void *__restrict, const void *__restrict, size_t);
|
|
extern void *memmove(void *, const void *, size_t);
|
|
extern void *memset(void *, int, size_t);
|
|
extern void bzero(void *, size_t);
|
|
extern int memcmp(const void *, const void *, size_t);
|
|
extern int bcmp(const void *, const void *, size_t);
|
|
|
|
} // namespace __llvm_libc
|
|
|
|
// List of implementations to test.
|
|
|
|
using llvm::libc_benchmarks::BzeroConfiguration;
|
|
using llvm::libc_benchmarks::MemcmpOrBcmpConfiguration;
|
|
using llvm::libc_benchmarks::MemcpyConfiguration;
|
|
using llvm::libc_benchmarks::MemmoveConfiguration;
|
|
using llvm::libc_benchmarks::MemsetConfiguration;
|
|
|
|
llvm::ArrayRef<MemcpyConfiguration> getMemcpyConfigurations() {
|
|
static constexpr MemcpyConfiguration kMemcpyConfigurations[] = {
|
|
{__llvm_libc::memcpy, "__llvm_libc::memcpy"}};
|
|
return llvm::ArrayRef(kMemcpyConfigurations);
|
|
}
|
|
llvm::ArrayRef<MemmoveConfiguration> getMemmoveConfigurations() {
|
|
static constexpr MemmoveConfiguration kMemmoveConfigurations[] = {
|
|
{__llvm_libc::memmove, "__llvm_libc::memmove"}};
|
|
return llvm::ArrayRef(kMemmoveConfigurations);
|
|
}
|
|
llvm::ArrayRef<MemcmpOrBcmpConfiguration> getMemcmpConfigurations() {
|
|
static constexpr MemcmpOrBcmpConfiguration kMemcmpConfiguration[] = {
|
|
{__llvm_libc::memcmp, "__llvm_libc::memcmp"}};
|
|
return llvm::ArrayRef(kMemcmpConfiguration);
|
|
}
|
|
llvm::ArrayRef<MemcmpOrBcmpConfiguration> getBcmpConfigurations() {
|
|
static constexpr MemcmpOrBcmpConfiguration kBcmpConfigurations[] = {
|
|
{__llvm_libc::bcmp, "__llvm_libc::bcmp"}};
|
|
return llvm::ArrayRef(kBcmpConfigurations);
|
|
}
|
|
llvm::ArrayRef<MemsetConfiguration> getMemsetConfigurations() {
|
|
static constexpr MemsetConfiguration kMemsetConfigurations[] = {
|
|
{__llvm_libc::memset, "__llvm_libc::memset"}};
|
|
return llvm::ArrayRef(kMemsetConfigurations);
|
|
}
|
|
llvm::ArrayRef<BzeroConfiguration> getBzeroConfigurations() {
|
|
static constexpr BzeroConfiguration kBzeroConfigurations[] = {
|
|
{__llvm_libc::bzero, "__llvm_libc::bzero"}};
|
|
return llvm::ArrayRef(kBzeroConfigurations);
|
|
}
|