[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"

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.

  rG LLVM Github Monorepo



-------------- 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