aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorDokyung Song <dokyungs@google.com>2020-08-19 20:21:05 +0000
committerDokyung Song <dokyungs@google.com>2020-08-19 22:14:43 +0000
commit428bebaf10e177db5e42206ca8f871f0bcbef058 (patch)
treeeeff32eefeb41a70c47369e6bddaacbca177843f /clang/lib/CodeGen/CodeGenModule.cpp
parent4deda57106f7c9b982a49cb907c33e3966c8de7f (diff)
downloadllvm-428bebaf10e177db5e42206ca8f871f0bcbef058.zip
llvm-428bebaf10e177db5e42206ca8f871f0bcbef058.tar.gz
llvm-428bebaf10e177db5e42206ca8f871f0bcbef058.tar.bz2
[libFuzzer] Fix value-profile-load test.
The behavior of the CrossOver mutator has changed with bb54bcf84970c04c9748004f3a4cf59b0c1832a7. This seems to affect the value-profile-load test on Darwin. This patch provides a wider margin for determining success of the value-profile-load test, by testing the targeted functionality (i.e., GEP index value profile) more directly and faster. To this end, LoadTest.cpp now uses a narrower condition (Size != 8) for initial pruning of inputs, effectively preventing libFuzzer from generating inputs longer than necessary and spending time on mutating such long inputs in the corpus - a functionality not meant to be tested by this specific test. Previously, on x86/Linux, it required 6,597,751 execs with -use_value_profile=1 and 19,605,575 execs with -use_value_profile=0 to hit the crash. With this patch, the test passes with 174,493 execs, providing a wider margin from the given trials of 10,000,000. Note that, without the value profile (i.e., -use_value_profile=0), the test wouldn't pass as it still requires 19,605,575 execs to hit the crash. Differential Revision: https://reviews.llvm.org/D86247
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions