summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/FuzzMutate
Commit message (Collapse)AuthorAgeFilesLines
* [llvm] Migrate llvm::make_unique to std::make_uniqueJonas Devlieghere2019-08-151-5/+5
| | | | | | | | Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement of (hopefully) all the llvm::make_unique instances across the monorepo. llvm-svn: 369013
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-194-16/+12
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* [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