@@ -41,10 +41,8 @@ reduceNodes(MDNode *Root,
41
41
if (MDNode *Operand =
42
42
dyn_cast<MDNode>(CurrentNode->getOperand (I).get ())) {
43
43
// Check whether node has been visited
44
- if (! VisitedNodes.contains (Operand)) {
44
+ if (VisitedNodes.insert (Operand))
45
45
NodesToTraverse.push (Operand);
46
- VisitedNodes.insert (Operand);
47
- }
48
46
// Delete the node only if it is distinct
49
47
if (Operand->isDistinct ()) {
50
48
// Add to removal list
@@ -74,10 +72,8 @@ static void cleanUpTemporaries(NamedMDNode &NamedNode, MDTuple *TemporaryTuple,
74
72
// If the node hasn't been traversed yet, add it to the queue of nodes to
75
73
// traverse.
76
74
if (MDTuple *TupleI = dyn_cast<MDTuple>((*I))) {
77
- if (! VisitedNodes.contains (TupleI)) {
75
+ if (VisitedNodes.insert (TupleI))
78
76
NodesToTraverse.push (TupleI);
79
- VisitedNodes.insert (TupleI);
80
- }
81
77
}
82
78
}
83
79
@@ -113,12 +109,10 @@ static void cleanUpTemporaries(NamedMDNode &NamedNode, MDTuple *TemporaryTuple,
113
109
// Push the remaining nodes into the queue
114
110
for (unsigned int I = 0 ; I < CurrentTuple->getNumOperands (); ++I) {
115
111
MDTuple *Operand = dyn_cast<MDTuple>(CurrentTuple->getOperand (I).get ());
116
- if (Operand && !VisitedNodes.contains (Operand)) {
117
- NodesToTraverse.push (Operand);
112
+ if (Operand && VisitedNodes.insert (Operand))
118
113
// If the node hasn't been traversed yet, add it to the queue of nodes
119
114
// to traverse.
120
- VisitedNodes.insert (Operand);
121
- }
115
+ NodesToTraverse.push (Operand);
122
116
}
123
117
}
124
118
}
0 commit comments