[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