[DomTree] Avoid duplicate hash lookup (NFC)

We're performing the same lookup twice here, just to access
different fields. Only perform it once.

Also prefer using find() over operator[], as we do not want to
perform an insert if the node does not exist.
This commit is contained in:
Nikita Popov
2023-11-27 14:45:17 +01:00
parent adb130ccad
commit 6778dbe502

View File

@@ -304,8 +304,12 @@ struct SemiNCAInfo {
auto &WInfo = *NumToInfo[i];
const unsigned SDomNum = NodeToInfo[NumToNode[WInfo.Semi]].DFSNum;
NodePtr WIDomCandidate = WInfo.IDom;
while (NodeToInfo[WIDomCandidate].DFSNum > SDomNum)
WIDomCandidate = NodeToInfo[WIDomCandidate].IDom;
while (true) {
auto &WIDomCandidateInfo = NodeToInfo.find(WIDomCandidate)->second;
if (WIDomCandidateInfo.DFSNum <= SDomNum)
break;
WIDomCandidate = WIDomCandidateInfo.IDom;
}
WInfo.IDom = WIDomCandidate;
}