To satisfy both cache and core simulators we mark subsequent iterations of rep string loops with a new trace entry type TRACE_TYPE_INSTR_NO_FETCH, which cache simulators can ignore. For offline traces, raw2trace does this for us. Since online traces would need extra overhead to distinguish the first from subsequent iters, they use a new internal type TRACE_TYPE_INSTR_MAYBE_FETCH which is converted by reader_t.
Adds instr_is_string_op() and instr_is_rep_string_op() to DR's API to facilitate this.
Adds no-fetch stats to the basic_counts tool and updates the basic_counts tests.
Fixes #2051 (closed)