diff options
| author | Kostya Serebryany <kcc@google.com> | 2019-06-21 01:39:35 +0000 |
|---|---|---|
| committer | Kostya Serebryany <kcc@google.com> | 2019-06-21 01:39:35 +0000 |
| commit | 679669a77e5bbd7451f4c482ec1996b0649f65d0 (patch) | |
| tree | 9c5a7412d22f692b464304f3a8aea8985b586d4c /compiler-rt/lib/fuzzer/dataflow/DataFlow.h | |
| parent | bc0d08e0eec68c6065a5836ae7bdbd2e60495e2b (diff) | |
| download | bcm5719-llvm-679669a77e5bbd7451f4c482ec1996b0649f65d0.tar.gz bcm5719-llvm-679669a77e5bbd7451f4c482ec1996b0649f65d0.zip | |
[libFuzzer] split DataFlow.cpp into two .cpp files, one of which can be compiled w/o dfsan to speed things up (~25% speedup)
llvm-svn: 364002
Diffstat (limited to 'compiler-rt/lib/fuzzer/dataflow/DataFlow.h')
| -rw-r--r-- | compiler-rt/lib/fuzzer/dataflow/DataFlow.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/compiler-rt/lib/fuzzer/dataflow/DataFlow.h b/compiler-rt/lib/fuzzer/dataflow/DataFlow.h new file mode 100644 index 00000000000..35849fd8d8e --- /dev/null +++ b/compiler-rt/lib/fuzzer/dataflow/DataFlow.h @@ -0,0 +1,32 @@ +/*===- DataFlow.h - a standalone DataFlow trace -------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// Internal header file to connect DataFlow.cpp and DataFlowCallbacks.cpp. +//===----------------------------------------------------------------------===*/ + +#ifndef __LIBFUZZER_DATAFLOW_H +#define __LIBFUZZER_DATAFLOW_H + +#include <cstddef> +#include <cstdint> +#include <sanitizer/dfsan_interface.h> + +// This data is shared between DataFlowCallbacks.cpp and DataFlow.cpp. +struct CallbackData { + size_t NumFuncs, NumGuards; + const uintptr_t *PCsBeg, *PCsEnd; + dfsan_label *FuncLabels; // Array of NumFuncs elements. + bool *BBExecuted; // Array of NumGuards elements. +}; + +extern CallbackData __dft; + +enum { + PCFLAG_FUNC_ENTRY = 1, +}; + +#endif // __LIBFUZZER_DATAFLOW_H |

