llvm-6502/cmake/modules
Kostya Serebryany ae0620c4e9 [sanitizer/coverage] Add AFL-style coverage counters (search heuristic for fuzzing).
Introduce -mllvm -sanitizer-coverage-8bit-counters=1
which adds imprecise thread-unfriendly 8-bit coverage counters.

The run-time library maps these 8-bit counters to 8-bit bitsets in the same way
AFL (http://lcamtuf.coredump.cx/afl/technical_details.txt) does:
counter values are divided into 8 ranges and based on the counter
value one of the bits in the bitset is set.
The AFL ranges are used here: 1, 2, 3, 4-7, 8-15, 16-31, 32-127, 128+.

These counters provide a search heuristic for single-threaded
coverage-guided fuzzers, we do not expect them to be useful for other purposes.

Depending on the value of -fsanitize-coverage=[123] flag,
these counters will be added to the function entry blocks (=1),
every basic block (=2), or every edge (=3).

Use these counters as an optional search heuristic in the Fuzzer library.
Add a test where this heuristic is critical.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231166 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-03 23:27:02 +00:00
..
AddLLVM.cmake Making the SO version major.minor instead of just major because ABI and API change between minor versions. 2015-03-02 17:50:13 +00:00
AddLLVMDefinitions.cmake
AddOCaml.cmake [OCaml] Use $CAMLORIGIN, an rpath-$ORIGIN-like mechanism in OCaml. 2015-01-13 09:47:59 +00:00
AddSphinxTarget.cmake Make message about building sphinx documentation with CMake more 2014-08-14 11:57:16 +00:00
CheckAtomic.cmake cmake: Use MSVC atomics with clang-cl 2015-03-02 22:00:23 +00:00
ChooseMSVCCRT.cmake
CMakeLists.txt [cmake] Start making LLVM_LIBDIR_SUFFIX effective by adding it to 2014-12-29 11:16:19 +00:00
CrossCompile.cmake Enabling LLVM & Clang to be cross-compiled using CMake from a single configuration command line 2014-09-03 23:21:18 +00:00
FindOCaml.cmake [OCaml] [cmake] Add CMake buildsystem for OCaml. 2014-12-01 19:50:23 +00:00
FindSphinx.cmake Add SPHINX_WARNINGS_AS_ERRORS CMake option to allow warnings to not be 2014-08-14 11:57:13 +00:00
GetHostTriple.cmake
GetSVN.cmake cmake: Make SVNVersion.inc work on Windows if svn is called svn.bat. 2014-12-10 00:10:21 +00:00
HandleLLVMOptions.cmake [sanitizer/coverage] Add AFL-style coverage counters (search heuristic for fuzzing). 2015-03-03 23:27:02 +00:00
HandleLLVMStdlib.cmake
LLVM-Config.cmake Revert "Raising minimum required CMake version to 2.8.12.2." 2015-02-24 16:39:46 +00:00
LLVMConfig.cmake.in [cmake] Push LLVM_LIBDIR_SUFFIX through to the LLVMConfig.cmake file 2014-12-29 11:16:23 +00:00
LLVMConfigVersion.cmake.in Teach LLVMConfigVersion.cmake to behave as find_package() expects. 2014-04-16 23:15:31 +00:00
LLVMParseArguments.cmake
LLVMProcessSources.cmake Teach llvm_add_library() to find include dirs. 2015-02-10 05:04:37 +00:00
Makefile [autoconf] llvm/cmake/modules/Makefile: Make sure to regenerate LLVMConfig.cmake whenever Makefile is updated. 2015-01-05 21:24:36 +00:00
TableGen.cmake Enabling LLVM & Clang to be cross-compiled using CMake from a single configuration command line 2014-09-03 23:21:18 +00:00
VersionFromVCS.cmake