summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorIgor Laevsky <igmyrj@gmail.com>2017-11-10 12:19:08 +0000
committerIgor Laevsky <igmyrj@gmail.com>2017-11-10 12:19:08 +0000
commit089f886ad928f5b132a09ae4ff4198ba439e3c26 (patch)
treec90162f4493f0825e45b800c06fd42fd1e219221 /docs
parentd84a31be4444938a6f70008ad265dab672ebbb5b (diff)
[llvm-opt-fuzzer] Introduce llvm-opt-fuzzer for fuzzing optimization passes
This change adds generic fuzzing tools capable of running libFuzzer tests on any optimization pass or combination of them. Differential Revision: https://reviews.llvm.org/D39555 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317883 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/FuzzingLLVM.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/docs/FuzzingLLVM.rst b/docs/FuzzingLLVM.rst
index e6ebeaf80cb..b3cf719f275 100644
--- a/docs/FuzzingLLVM.rst
+++ b/docs/FuzzingLLVM.rst
@@ -100,6 +100,28 @@ mode, the same example could be run like so:
% bin/llvm-isel-fuzzer--aarch64-O0-gisel <corpus-dir>
+llvm-opt-fuzzer
+---------------
+
+A |LLVM IR fuzzer| aimed at finding bugs in optimization passes.
+
+It receives optimzation pipeline and runs it for each fuzzer input.
+
+Interface of this fuzzer almost directly mirrors ``llvm-isel-fuzzer``. Both
+``mtriple`` and ``passes`` arguments are required. Passes are specified in a
+format suitable for the new pass manager.
+
+.. code-block:: shell
+
+ % bin/llvm-opt-fuzzer <corpus-dir> -ignore_remaining_args=1 -mtriple x86_64 -passes instcombine
+
+Similarly to the ``llvm-isel-fuzzer`` arguments in some predefined configurations
+might be embedded directly into the binary file name:
+
+.. code-block:: shell
+
+ % bin/llvm-opt-fuzzer--x86_64-instcombine <corpus-dir>
+
llvm-mc-assemble-fuzzer
-----------------------