RegAllocFast: Leave unassigned virtreg entries in map

Description

RegAllocFast: Leave unassigned virtreg entries in map

Set LiveReg::PhysReg to zero when freeing a register instead of
removing it from the entry from LiveRegMap. This way no iterators get
invalidated and we can avoid passing around and updating iterators all
over the place.

This does not change any allocator decisions. It is not completely NFC
because the arbitrary iteration order through LiveRegMap in
spillAll() changes so we may get a different order in those spill
sequences (the amount of spills does not change).

This is in preparation of https://reviews.llvm.org/D52010.

Details

Committed
matzeTue, Nov 6, 10:57 PM
Parents
rL346297: RegAllocFast: Further cleanups; NFC
Branches
Unknown
Tags
Unknown