#
53bb83d2 |
| 31-Aug-2017 |
Justin Bogner <mail@justinbogner.com> |
llvm-isel-fuzzer: Stop including FuzzerInterface.h
All this does is forward declare the interface functions (and make sure that they're `extern "C"`), but since we're using libFuzzer from the toolch
llvm-isel-fuzzer: Stop including FuzzerInterface.h
All this does is forward declare the interface functions (and make sure that they're `extern "C"`), but since we're using libFuzzer from the toolchain it doesn't make sense to include the local copy of the interface.
llvm-svn: 312195
show more ...
|
#
2ebcca23 |
| 29-Aug-2017 |
Justin Bogner <mail@justinbogner.com> |
Implement llvm-isel-fuzzer for fuzzing instruction selection
This implements a fuzzer tool for instruction selection, as described in my [EuroLLVM 2017 talk][1].
The fuzzer must be given both libFu
Implement llvm-isel-fuzzer for fuzzing instruction selection
This implements a fuzzer tool for instruction selection, as described in my [EuroLLVM 2017 talk][1].
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.
[1]: http://llvm.org/devmtg/2017-03//2017/02/20/accepted-sessions.html#2
llvm-svn: 311964
show more ...
|