[llvm-reduce] Add flag to start at finer granularity
authorDwight Guth <dwight.guth@runtimeverification.com>
Tue, 9 Nov 2021 18:13:33 +0000 (10:13 -0800)
committerArthur Eubanks <aeubanks@google.com>
Tue, 9 Nov 2021 18:14:08 +0000 (10:14 -0800)
commitfbfd327fdf1e461821dada1a2f18e67f83ac65ef
tree81ceec9d4e4adc9a9b662fa3f4654346c74aa843
parentc296609b68d0253d7baef9b8275c72d8ed112758
[llvm-reduce] Add flag to start at finer granularity

Sometimes if llvm-reduce is interrupted in the middle of a delta pass on
a large file, it can take quite some time for the tool to start actually
doing new work if it is restarted again on the partially-reduced file. A
lot of time ends up being spent testing large chunks when these large
chunks are very unlikely to actually pass the interestingness test. In
cases like this, the tool will complete faster if the starting
granularity is reduced to a finer amount. Thus, we introduce a command
line flag that automatically divides the chunks into smaller subsets a
fixed, user-specified number of times prior to beginning the core loop.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D112651
llvm/test/tools/llvm-reduce/granularity-level.ll [new file with mode: 0644]
llvm/tools/llvm-reduce/deltas/Delta.cpp