mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-04 11:17:31 +00:00
ValueMapper: Only put cyclic nodes into CyclicNodes, NFCI
As a minor fixup to r266258, only track nodes that needed a placeholder in CyclicNodes in MDNodeMapper::mapUniquedNodes. There should be no observable functionality change, just some local memory savings because CyclicNodes only needs to grow to accommodate nodes that are actually involved in cycles. (This was the original intent of r266258, or else the vector would have been called "ChangedNodes".) llvm-svn: 266536
This commit is contained in:
parent
fc44bd8574
commit
6e2aedad0d
@ -686,10 +686,19 @@ void MDNodeMapper::mapUniquedNodes() {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Remember whether this node had a placeholder.
|
||||
bool HadPlaceholder(D.Placeholder);
|
||||
|
||||
// Clone the uniqued node and remap the operands.
|
||||
TempMDNode ClonedN = D.Placeholder ? std::move(D.Placeholder) : N->clone();
|
||||
remapOperands(D, *ClonedN);
|
||||
CyclicNodes.push_back(MDNode::replaceWithUniqued(std::move(ClonedN)));
|
||||
M.mapToMetadata(N, CyclicNodes.back());
|
||||
auto *NewN = MDNode::replaceWithUniqued(std::move(ClonedN));
|
||||
M.mapToMetadata(N, NewN);
|
||||
|
||||
// Nodes that were referenced out of order in the POT are involved in a
|
||||
// uniquing cycle.
|
||||
if (HadPlaceholder)
|
||||
CyclicNodes.push_back(NewN);
|
||||
}
|
||||
|
||||
// Resolve cycles.
|
||||
|
Loading…
x
Reference in New Issue
Block a user