[PATCH] D36275: Implement llvm-isel-fuzzer for fuzzing instruction selection
Justin Bogner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 3 11:02:32 PDT 2017
bogner created this revision.
Herald added subscribers: kristof.beyls, igorb, mgorny, mcrosier, aemerson.
This implements a fuzzer tool for instruction selection, as described in my EuroLLVM 2017 talk <http://llvm.org/devmtg/2017-03//2017/02/20/accepted-sessions.html#2>.
The fuzzer must be given both libFuzzer args and llc-like args to configure the backend. For example, to fuzz AArch64 GlobalISel at -O0, you could invoke like so:
llvm-isel-fuzzer <corpus dirs> -ignore_remaining_args=1 \
-mtriple arm64-apple-ios -global-isel -O0
If you would like to seed the fuzzer with an initial corpus, simply provide a directory of valid LLVM bitcode (not textual IR) as one of the corpus dirs.
Repository:
rL LLVM
https://reviews.llvm.org/D36275
Files:
tools/llvm-isel-fuzzer/CMakeLists.txt
tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36275.109599.patch
Type: text/x-patch
Size: 8083 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170803/99117832/attachment.bin>
More information about the llvm-commits
mailing list