diff options
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerLoop.cpp')
| -rw-r--r-- | llvm/lib/Fuzzer/FuzzerLoop.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerLoop.cpp b/llvm/lib/Fuzzer/FuzzerLoop.cpp index 57893e0f1fe..9d35384ecd5 100644 --- a/llvm/lib/Fuzzer/FuzzerLoop.cpp +++ b/llvm/lib/Fuzzer/FuzzerLoop.cpp @@ -285,9 +285,14 @@ void Fuzzer::ReportNewCoverage(size_t NewCoverage, const Unit &U) { void Fuzzer::MutateAndTestOne(Unit *U) { for (int i = 0; i < Options.MutateDepth; i++) { - MutateWithDFSan(U); + StartTraceRecording(); Mutate(U, Options.MaxLen); RunOneAndUpdateCorpus(*U); + size_t NumTraceBasedMutations = StopTraceRecording(); + for (size_t j = 0; j < NumTraceBasedMutations; j++) { + ApplyTraceBasedMutation(j, U); + RunOneAndUpdateCorpus(*U); + } } } |

