forked from OSchip/llvm-project
[libFuzzer] even less aggressive step function for stack depth. Also don't use asan in one test to speed it up
llvm-svn: 320259
This commit is contained in:
parent
844f8f21fd
commit
de891a1946
|
@ -274,8 +274,19 @@ void TracePC::CollectFeatures(Callback HandleFeature) const {
|
|||
FirstFeature += ValueProfileMap.SizeInBits();
|
||||
}
|
||||
|
||||
// Step function, grows similar to 8 * Log_2(A).
|
||||
auto StackDepthStepFunction = [](uint32_t A) -> uint32_t {
|
||||
uint32_t Log2 = 32 - __builtin_clz(A) - 1;
|
||||
if (Log2 < 3) return A;
|
||||
Log2 -= 3;
|
||||
return (Log2 + 1) * 8 + ((A >> Log2) & 7);
|
||||
};
|
||||
assert(StackDepthStepFunction(1024) == 64);
|
||||
assert(StackDepthStepFunction(1024 * 4) == 80);
|
||||
assert(StackDepthStepFunction(1024 * 1024) == 144);
|
||||
|
||||
if (auto MaxStackOffset = GetMaxStackOffset())
|
||||
HandleFeature(FirstFeature + MaxStackOffset / 128);
|
||||
HandleFeature(FirstFeature + StackDepthStepFunction(MaxStackOffset / 8));
|
||||
}
|
||||
|
||||
extern TracePC TPC;
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CHECK: BINGO
|
||||
RUN: %cpp_compiler %S/SimpleHashTest.cpp -o %t-SimpleHashTest
|
||||
RUN: %cpp_compiler -fno-sanitize=address %S/SimpleHashTest.cpp -o %t-SimpleHashTest
|
||||
RUN: not %t-SimpleHashTest -seed=1 -use_cmp=0 -use_value_profile=1 -runs=100000000 -max_len=64 2>&1 | FileCheck %s
|
||||
|
|
Loading…
Reference in New Issue