Moves label that contains slot id for register spill/restore instrs to after the instr instead of before. The free spill slot selection logic that makes use of these labels scans instrs after the given one, so we may miss the label if it is placed before.
Fixes order of app val spill and tool val restore instrs after an instr that reads and writes a spilled reg. This was to take into account the label which is now after the tool restore instr.
Adds test to verify restoration of reg that was reserved in multiple phases on a fault, for X86 and AARCHXX.
Also adds AARCHXX variant of the multi-phase slot conflict test, and extends it to also check proper restoration of app val (under normal operation, as opposed to under a fault which is done by the above test). The existing test only verified whether the slot used in different phases was different.
Adds a note to the label instrs added by drreg-test to mark instrumentation locations. This is to avoid conflicts with other label instrs.
Issue: #3823 (closed), #2985 (closed)