[PATCH] D36274: Introduce FuzzMutate library

Justin Bogner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 3 10:59:42 PDT 2017


bogner created this revision.
Herald added subscribers: mgorny, mcrosier.

This introduces the FuzzMutate library, which provides structured fuzzing for LLVM IR, as described in my EuroLLVM 2017 talk <http://llvm.org/devmtg/2017-03//2017/02/20/accepted-sessions.html#2>. Most of the basic mutators to inject and delete IR are provided, with support for most basic operations.

I will follow up with the instruction selection fuzzer, which is implemented in terms of this library.


Repository:
  rL LLVM

https://reviews.llvm.org/D36274

Files:
  include/llvm/FuzzMutate/IRMutator.h
  include/llvm/FuzzMutate/OpDescriptor.h
  include/llvm/FuzzMutate/Operations.h
  include/llvm/FuzzMutate/Random.h
  include/llvm/FuzzMutate/RandomIRBuilder.h
  lib/CMakeLists.txt
  lib/FuzzMutate/CMakeLists.txt
  lib/FuzzMutate/IRMutator.cpp
  lib/FuzzMutate/LLVMBuild.txt
  lib/FuzzMutate/OpDescriptor.cpp
  lib/FuzzMutate/Operations.cpp
  lib/FuzzMutate/RandomIRBuilder.cpp
  unittests/CMakeLists.txt
  unittests/FuzzMutate/CMakeLists.txt
  unittests/FuzzMutate/OperationsTest.cpp
  unittests/FuzzMutate/ReservoirSamplerTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36274.109597.patch
Type: text/x-patch
Size: 61890 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170803/700a618a/attachment.bin>


More information about the llvm-commits mailing list