[turbofan]: Fix bug in register hinting
Previously, UsePositions for Phis that are constant LiveRanges which are also used as hints for other USePositions would always force-allocate the first register in the allocatable register file to that range. Review URL: https://codereview.chromium.org/1289313003 Cr-Commit-Position: refs/heads/master@{#30193}
This commit is contained in:
parent
6dda11ff81
commit
bfbc5e7c15
@ -196,8 +196,11 @@ void UsePosition::ResolveHint(UsePosition* use_pos) {
|
||||
|
||||
void UsePosition::set_type(UsePositionType type, bool register_beneficial) {
|
||||
DCHECK_IMPLIES(type == UsePositionType::kRequiresSlot, !register_beneficial);
|
||||
DCHECK_EQ(kUnassignedRegister, AssignedRegisterField::decode(flags_));
|
||||
flags_ = TypeField::encode(type) |
|
||||
RegisterBeneficialField::encode(register_beneficial);
|
||||
RegisterBeneficialField::encode(register_beneficial) |
|
||||
HintTypeField::encode(HintTypeField::decode(flags_)) |
|
||||
AssignedRegisterField::encode(kUnassignedRegister);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user