[libc-commits] [PATCH] D111622: [libc] automemcpy - codegen
Guillaume Chatelet via Phabricator via libc-commits
libc-commits at lists.llvm.org
Tue Oct 12 02:34:58 PDT 2021
gchatelet created this revision.
gchatelet added a reviewer: courbet.
Herald added subscribers: libc-commits, ecnelises, tschuett, mgrang.
Herald added a project: libc-project.
gchatelet requested review of this revision.
"automemcpy: A framework for automatic generation of fundamental memory operations"
https://research.google/pubs/pub50338/
This patch implements the concepts presented in the paper, the overall approach is the following:
- Makes use of constraint programming to model the implementation of a memory function (memcpy, memset, memcmp, bzero, bcmp).
- Generate the code for all valid implementations
- Compile the implementations and benchmark them on a set of machines. The benchmark makes use of representative distributions for the function's arguments.
- Analyze the result and pick "the best" performing function according to the specific environement.
This patch in particular implements the code generation, turning a set of FunctionDescriptors into function implementations in a C++ file.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D111622
Files:
libc/benchmarks/automemcpy/CodeGen.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111622.378931.patch
Type: text/x-patch
Size: 23575 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20211012/44660d28/attachment-0001.bin>
More information about the libc-commits
mailing list