Adds cache_filter that allows filtering data and/or instr entries by passing the addresses through a cache. Uses the existing drcachesim cache simulator to implement this.
Adds a did_last_access_hit() public API in a sub-class of cache_stats_t to get the status of the last processed access. This is used in cache_filter to determine whether the current trace_entry_t should be output or not.
Adds type_filter that allows filtering trace entries by their type, including markers by their type.
Adds the ability to stop filtering when a certain timestamp is reached. At this point, a new marker TRACE_MARKER_TYPE_FILTER_ENDPOINT is added to help tools figure out the warmup region in the trace. Adds a new get_last_timestamp() public API to memtrace_stream_t to enable this.
Adds a test that verifies cache and type filter operation.
Adds command line options to the record_filter_launcher executable to allow using the cache and type filters.
Issue: #5675