Subzero: Clean up live range construction.
Moves the deletion of newly dead instructions into the main liveness() routine. The old livenessPostProcess() routine is renamed and now used purely for live range construction.
The hack is removed in which live in-args have a custom live range segment added to avoid an artifact of the live ranges. It is replaced with a gentler hack that extends the instruction numbering range of the initial basic block to avoid the artifact.
Since special live range segments no longer need to be prepended, the live range representation is simplified and we can always assume that segments are being appended, never prepended (and as before, never added to the middle).
Some magic constants involving special instruction numbers are replaced with symbolic constants.
BUG= none
R=jvoung@chromium.org
Review URL: https://codereview.chromium.org/802003003
6 files changed