| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
sed -Ei 's/[[:space:]]+$//' include/**/*.{def,h,td} lib/**/*.{cpp,h}
llvm-svn: 338293
|
|
|
|
| |
llvm-svn: 327969
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43384
llvm-svn: 325487
|
|
|
|
|
|
|
| |
This simplifies most callers as they are already using references or
std::unique_ptr.
llvm-svn: 325155
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D42414
llvm-svn: 324225
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D42412
llvm-svn: 323409
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D42410
llvm-svn: 323314
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D41009
llvm-svn: 321062
|
|
|
|
| |
llvm-svn: 320629
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D41109
llvm-svn: 320573
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D41112
llvm-svn: 320571
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D40840
llvm-svn: 320136
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D40837
llvm-svn: 320032
|
|
|
|
|
|
|
|
|
|
| |
In rare cases we can receive request to inject into completelly empty basic block. In the normal case
all basic blocks contain at least terminator instruction, but it is possible that the only instruction is
catchpad instruction which is not part of the instruction iterator. This case seems rare enough to not care
about it.
Submiting without review, since it seems almost NFC. I couldn't come up with any reasonable way to test this.
llvm-svn: 319444
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D40397
llvm-svn: 319442
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D40396
llvm-svn: 319441
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D40395
llvm-svn: 319440
|
|
|
|
|
|
|
|
| |
descriptor
Differential Revision: https://reviews.llvm.org/D40394
llvm-svn: 319439
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D40393
llvm-svn: 319438
|
|
|
|
|
|
| |
Add correct library dependence.
llvm-svn: 318409
|
|
|
|
|
|
|
|
| |
into FuzzMutate.
This is to be able to reuse them in the llvm-opt-fuzzer.
llvm-svn: 318407
|
|
|
|
|
|
|
|
|
| |
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
llvm-svn: 317883
|
|
|
|
|
|
|
|
| |
The right way to parse arch names is by creating a triple. This was
using getArchTypeForLLVMName before, which doesn't really do the right
thing here.
llvm-svn: 315965
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: OSS-Fuzz doesn't support '=' in filenames.
Reviewers: bogner, kcc
Reviewed By: kcc
Subscribers: javed.absar, hiraditya, llvm-commits
Differential Revision: https://reviews.llvm.org/D38866
llvm-svn: 315647
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here we add a secondary option parser to llvm-isel-fuzzer (and provide
it for use with other fuzzers). With this, you can copy the fuzzer to
a name like llvm-isel-fuzzer=aarch64-gisel for a fuzzer that fuzzer
AArch64 with GlobalISel enabled, or fuzzer=x86_64 to fuzz x86, with no
flags required. This should be useful for running these in OSS-Fuzz.
Note that this handrolls a subset of cl::opts to recognize, rather
than embedding a complete command parser for argv[0]. If we find we
really need the flexibility of handling arbitrary options at some
point we can rethink this.
This re-applies 315545 using "=" instead of ":" as a separator for
arguments.
llvm-svn: 315557
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
executable name"
It broke some tests on Windows:
Failing Tests (4):
LLVM :: tools/llvm-isel-fuzzer/execname-options.ll
LLVM :: tools/llvm-isel-fuzzer/missing-triple.ll
LLVM :: tools/llvm-isel-fuzzer/x86-empty-bc.ll
LLVM :: tools/llvm-isel-fuzzer/x86-empty.ll
> llvm-isel-fuzzer: Handle a subset of backend flags in the executable name
>
> Here we add a secondary option parser to llvm-isel-fuzzer (and provide
> it for use with other fuzzers). With this, you can copy the fuzzer to
> a name like llvm-isel-fuzzer:aarch64-gisel for a fuzzer that fuzzer
> AArch64 with GlobalISel enabled, or fuzzer:x86_64 to fuzz x86, with no
> flags required. This should be useful for running these in OSS-Fuzz.
>
> Note that this handrolls a subset of cl::opts to recognize, rather
> than embedding a complete command parser for argv[0]. If we find we
> really need the flexibility of handling arbitrary options at some
> point we can rethink this.
llvm-svn: 315554
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here we add a secondary option parser to llvm-isel-fuzzer (and provide
it for use with other fuzzers). With this, you can copy the fuzzer to
a name like llvm-isel-fuzzer:aarch64-gisel for a fuzzer that fuzzer
AArch64 with GlobalISel enabled, or fuzzer:x86_64 to fuzz x86, with no
flags required. This should be useful for running these in OSS-Fuzz.
Note that this handrolls a subset of cl::opts to recognize, rather
than embedding a complete command parser for argv[0]. If we find we
really need the flexibility of handling arbitrary options at some
point we can rethink this.
llvm-svn: 315545
|
|
|
|
|
|
|
|
| |
FuzzMutate might not be the best place for these, but it makes more
sense than an entirely new library for now. This will make setting up
fuzz targets with consistent CLI handling easier.
llvm-svn: 312425
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Looks like this fails to build with libstdc++.
This reverts r311356
llvm-svn: 311358
|
|
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
|