add controllable auto-predication of instrumentation to match application predication
Split from #1551 (closed)
In f28be26e we added auto-predication of instrumentation in Thumb IT blocks, but it was asymmetric wrt ARM mode and we abandoned it. We have cases of instrumentation where we do not want predication (e.g., drcachesim tracer's instr fetch instrumentation) and thus we need to give some control to the client.
To re-add the feature, we should have it apply to both Thumb and ARM, and have it controllable by the client. The proposal is to have both blacklist and whitelist modes: a global flag of some kind indicating whether to always add or never add, and individual flags on instrs overriding the global.