Correct an assertion in LSRA.
authorPat Gavlin <pagavlin@microsoft.com>
Thu, 8 Dec 2016 23:18:42 +0000 (15:18 -0800)
committerPat Gavlin <pagavlin@microsoft.com>
Thu, 8 Dec 2016 23:24:11 +0000 (15:24 -0800)
commit8b65d160640b0f9a761ca905610409fa5bc35372
tree9eb4590b37d5e6782ccba930935056539cb2eebc
parentbf4ed11eb5cee7123fd0c6fa5b60f09fe7adf23e
Correct an assertion in LSRA.

`verifyFinalAllocation` asserts that if a non-BB interval RefPosition
that is either spilled or is the interval's last use does not have a
register, then that ref position must be marked `AllocateIfProfitable`.
However, this situation can also arise in at least one other situation:
an unused parameter will have at least one ref position that may not be
allocated to a register. This change corrects the assertion to check
`RefPosition::RequiresRegister` rather than
`RefPosition::AllocateIfProfitable`.

Fixes VSO 299207.
src/jit/lsra.cpp