summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/FuzzMutate
Commit message (Collapse)AuthorAgeFilesLines
* [FuzzMutate] Inst deleter doesn't work with PhiNodesIgor Laevsky2018-01-251-9/+38
| | | | | | Differential Revision: https://reviews.llvm.org/D42412 llvm-svn: 323409
* [FuzzMutate] Avoid using swifterror as a source operandIgor Laevsky2018-01-111-0/+30
| | | | | | Differential Revision: https://reviews.llvm.org/D41107 llvm-svn: 322280
* [FuzzMutate] Only generate loads and stores to the first class sized typesIgor Laevsky2017-12-131-0/+30
| | | | | | Differential Revision: https://reviews.llvm.org/D41109 llvm-svn: 320573
* [FuzzMutate] Avoid zero sized aggregatesIgor Laevsky2017-12-131-2/+8
| | | | | | Differential Revision: https://reviews.llvm.org/D41110 llvm-svn: 320572
* [FuzzMutate] Correctly split landingpad blocksIgor Laevsky2017-12-131-0/+29
| | | | | | Differential Revision: https://reviews.llvm.org/D41112 llvm-svn: 320571
* [FuzzMutate] Correctly insert sinks and sources around invoke instructionsIgor Laevsky2017-12-081-0/+36
| | | | | | Differential Revision: https://reviews.llvm.org/D40840 llvm-svn: 320136
* [FuzzMutate] Allow only sized pointers for the GEP instructionIgor Laevsky2017-12-071-0/+47
| | | | | | Differential Revision: https://reviews.llvm.org/D40837 llvm-svn: 320032
* [FuzzMutate] Correctly handle vector types in the insertvalue operationIgor Laevsky2017-11-301-0/+36
| | | | | | Differential Revision: https://reviews.llvm.org/D40397 llvm-svn: 319442
* [FuzzMutate] Don't use index operands as sinksIgor Laevsky2017-11-301-0/+34
| | | | | | Differential Revision: https://reviews.llvm.org/D40396 llvm-svn: 319441
* [FuzzMutate] Pick correct index for the insertvalue instructionIgor Laevsky2017-11-301-0/+46
| | | | | | Differential Revision: https://reviews.llvm.org/D40395 llvm-svn: 319440
* [FuzzMutate] Don't create load as a new source if it doesn't match with the ↵Igor Laevsky2017-11-302-0/+88
| | | | | | | | descriptor Differential Revision: https://reviews.llvm.org/D40394 llvm-svn: 319439
* [FuzzMutate] Don't crash when we can't remove instruction from empty functionIgor Laevsky2017-11-302-0/+112
| | | | | | Differential Revision: https://reviews.llvm.org/D40393 llvm-svn: 319438
* Re-apply "Introduce FuzzMutate library"Justin Bogner2017-08-213-0/+402
| | | | | | | | | | | | | | Same as r311392 with some fixes for library dependencies. Thanks to Chapuni for helping work those out! Original commit message: This introduces the FuzzMutate library, which provides structured fuzzing for LLVM IR, as described in my EuroLLVM 2017 talk. Most of the basic mutators to inject and delete IR are provided, with support for most basic operations. llvm-svn: 311402
* Revert "Re-apply "Introduce FuzzMutate library""Justin Bogner2017-08-213-402/+0
| | | | | | | | | | | The dependencies for the new library seem to be misconfigured on some linux configs: http://bb.pgr.jp/builders/llvm-i686-linux-RA/builds/5435/steps/build_all/logs/stdio This reverts r311392. llvm-svn: 311393
* Re-apply "Introduce FuzzMutate library"Justin Bogner2017-08-213-0/+402
| | | | | | | | | | | | | | | Redo r311356 with a fix to avoid std::uniform_int_distribution<bool>. The bool specialization is undefined according to the standard, even though libc++ seems to have it. Original commit message: This introduces the FuzzMutate library, which provides structured fuzzing for LLVM IR, as described in my [EuroLLVM 2017 talk][1]. Most of the basic mutators to inject and delete IR are provided, with support for most basic operations. llvm-svn: 311392
* Revert "Introduce FuzzMutate library"Justin Bogner2017-08-213-402/+0
| | | | | | | | Looks like this fails to build with libstdc++. This reverts r311356 llvm-svn: 311358
* Introduce FuzzMutate libraryJustin Bogner2017-08-213-0/+402
This introduces the FuzzMutate library, which provides structured fuzzing for LLVM IR, as described in my [EuroLLVM 2017 talk][1]. 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. [1]: http://llvm.org/devmtg/2017-03//2017/02/20/accepted-sessions.html#2 llvm-svn: 311356
OpenPOWER on IntegriCloud