The intel PIN manual (section Memory Reference Trace) says:
We also use
INS_InsertCallto avoid generating references to instructions that are predicated when the predicate is false see here.
When the instruction has a predicate and the predicate is false, the analysis function is not called see here.
If I want to analyze all instructions that are actually executed, which of the two shall I pick?
INS_InsertPredicatedCall but I am not sure because I have seen
INS_InsertCall more often. But why would somebody use it, i.e., why would somebody want to analyze instructions
that are predicated when the predicate is false
? Maybe a minimal example of how the two functions lead to different results would be helpful here...