[libc-commits] [PATCH] D111621: [libc] automemcpy - function generator
Guillaume Chatelet via Phabricator via libc-commits
libc-commits at lists.llvm.org
Tue Oct 12 02:31:34 PDT 2021
gchatelet created this revision.
gchatelet added a reviewer: courbet.
Herald added subscribers: libc-commits, ecnelises, tschuett.
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 constraint programming part that explores valid memory operations.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D111621
Files:
libc/benchmarks/automemcpy/RandomFunctionGenerator.cpp
libc/benchmarks/automemcpy/RandomFunctionGenerator.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111621.378930.patch
Type: text/x-patch
Size: 11697 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20211012/9f119eaf/attachment.bin>
More information about the libc-commits
mailing list