Add a separate L0_filter mode to enable switching from warmup/L0_filter mode to the unfiltered mode.
Added an option (-L0_filter_until_instrs) which specifies the number of instructions for warmup trace
In warmup mode, we filter accesses through the -L0{D,I}_filter caches. If neither -L0D_filter nor -L0I_filter are specified then both are assumed to be true. The size of these can be specified using -L0{D,I}_size.
The filter instructions come after the -trace_after_instrs count and before the instruction trace. This is intended to be used together with other trace options (e.g., -trace_for_instrs, -exit_after_tracing, -max_trace_size etc.) but with the difference that a filter trace is also collected. The filter trace and full trace are stored in a single file separated by a TRACE_MARKER_TYPE_FILTER_ENDPOINT marker.
When used with windows (i.e., -retrace_every_instrs), each window contains a filter trace and a full trace. When we have windows contained in a single-file, the TRACE_MARKER_TYPE_WINDOW_ID markers indicate start of filtered records.
Issue: #5199