Tracing logic for monitoring a stream of processing instructions from a
program being processed by a data processor is disclosed, said tracing
logic comprising monitoring logic operable to detect processing of said
instructions in said instruction stream; detect which of said
instructions in said instruction stream are conditional direct branch
instructions, which of said instructions in said instruction stream are
conditional indirect branch instructions and which of said instructions
in said instruction stream are unconditional indirect branch
instructions; said tracing logic further comprising compression logic
operable to: designate said conditional direct branch instructions, said
conditional indirect branch instructions and said indirect branch
instructions as marker instructions; for each marker instruction, output
an execution indicator indicating if said marker instruction has executed
or a non-execution indicator indicating if said marker instruction has
not executed and not output data relating to previously processed
instructions that are not marker instructions.