Chromium Code Reviews| Index: src/compiler/control-reducer.cc |
| diff --git a/src/compiler/control-reducer.cc b/src/compiler/control-reducer.cc |
| index b5acbb23e7abb6e19d509f6996b37e7930102823..65d417066ccfc9df89b26dd6f7f88438dde745b6 100644 |
| --- a/src/compiler/control-reducer.cc |
| +++ b/src/compiler/control-reducer.cc |
| @@ -215,15 +215,14 @@ class ControlReducerImpl { |
| // Remove dead->live edges. |
| for (size_t j = 0; j < nodes.size(); j++) { |
| Node* node = nodes[j]; |
| - for (UseIter i = node->uses().begin(); i != node->uses().end();) { |
| - size_t id = static_cast<size_t>((*i)->id()); |
| + for (auto edge : node->use_edges()) { |
|
Michael Starzinger
2014/11/28 13:55:46
Can we pretty please with a cherry on top just wri
|
| + Node* use = edge.from(); |
| + size_t id = static_cast<size_t>(use->id()); |
| if (state_[id] != kVisited) { |
| - TRACE(("DeadLink: #%d:%s(%d) -> #%d:%s\n", (*i)->id(), |
| - (*i)->op()->mnemonic(), i.index(), node->id(), |
| + TRACE(("DeadLink: #%d:%s(%d) -> #%d:%s\n", use->id(), |
| + use->op()->mnemonic(), edge.index(), node->id(), |
| node->op()->mnemonic())); |
| - i.UpdateToAndIncrement(NULL); |
| - } else { |
| - ++i; |
| + edge.UpdateTo(NULL); |
| } |
| } |
| } |
| @@ -453,18 +452,16 @@ class ControlReducerImpl { |
| // Replace IfTrue and IfFalse projections from this branch. |
| Node* control = NodeProperties::GetControlInput(node); |
| - for (UseIter i = node->uses().begin(); i != node->uses().end();) { |
| - Node* to = *i; |
| - if (to->opcode() == IrOpcode::kIfTrue) { |
| - TRACE((" IfTrue: #%d:%s\n", to->id(), to->op()->mnemonic())); |
| - i.UpdateToAndIncrement(NULL); |
| - ReplaceNode(to, (result == kTrue) ? control : dead()); |
| - } else if (to->opcode() == IrOpcode::kIfFalse) { |
| - TRACE((" IfFalse: #%d:%s\n", to->id(), to->op()->mnemonic())); |
| - i.UpdateToAndIncrement(NULL); |
| - ReplaceNode(to, (result == kTrue) ? dead() : control); |
| - } else { |
| - ++i; |
| + for (auto edge : node->use_edges()) { |
| + Node* use = edge.from(); |
| + if (use->opcode() == IrOpcode::kIfTrue) { |
| + TRACE((" IfTrue: #%d:%s\n", use->id(), use->op()->mnemonic())); |
| + edge.UpdateTo(NULL); |
| + ReplaceNode(use, (result == kTrue) ? control : dead()); |
| + } else if (use->opcode() == IrOpcode::kIfFalse) { |
| + TRACE((" IfFalse: #%d:%s\n", use->id(), use->op()->mnemonic())); |
| + edge.UpdateTo(NULL); |
| + ReplaceNode(use, (result == kTrue) ? dead() : control); |
| } |
| } |
| return control; |