Closed
Description
LinearScan::processKills()
accounts for a good percentage of TP regression when adding additional registers as shown below
Method | InsCountDiff | InsPercentageDiff | ContributionPercentage |
---|---|---|---|
processKills@LinearScan | 5849967774 | 114.36% | 17.20% |
LinearScan::processKills()
obtains list of registers using RefPosition->getKilledRegisters()
. This currently is a regMaskTP
.
We do a number of expensive operations on this regMaskTP
in a loop including the following - IsNonEmpty()
, genFirstRegNumFromMaskAndToggle()
, >=
, &=
. Explore possibility of storing killedRegisters
as a SingleTypeRegSet
and thus improve TP.