Before this change, we unconditionally write out a synthetic reference to the
XRay function index label in the text section. This makes it so that we're
writing valid instructions in the text section before the actual
relocation/reference.
With this change we're aiming to help the CPU's decoder to decode valid
instructions instead of potentially stalling because of almost quite literally
garbage data in the text section. To do this, we're introducing a protected
virtual function in the AsmPrinter class, which is specifically an extension
point for emitting the XRay synthetic reference.
We're using the INT3 and 7-byte nops for padding before emitting the actual
relocation/reference.