Subzero: Improve the representation and handling of the FakeKill instruction.
The FakeKill instruction is always used for killing scratch registers, and a fair amount of effort is spent building new copies of the same scratch register list each time (i.e., for each lowered call instruction). As such, we can create one master list of scratch registers and share it among all FakeKill instructions.
Also, in all situations where an instruction's Srcs[] were considered for liveness, we had to either explicitly ignore an InstFakeKill instruction, or treat it specially. Now that InstFakeKill lacks any Srcs[] (or Dest), it doesn't need to be specially ignored, and the code is simplified.
In addition, the text asm emitter no longer clutters the output with FakeKill comments (and FakeUse as well).
BUG= none
R=jvoung@chromium.org
Review URL: https://codereview.chromium.org/691693003
7 files changed