Lines Matching refs:node
9 #include "src/compiler/node-properties.h"
18 bool IsBranch(Node* node) { return node->opcode() == IrOpcode::kBranch; }
20 bool CanDuplicate(Node* node) {
26 switch (node->opcode()) {
52 for (Node* input : node->inputs()) {
66 Node* BranchConditionDuplicator::DuplicateNode(Node* node) {
67 return graph_->CloneNode(node);
70 void BranchConditionDuplicator::DuplicateConditionIfNeeded(Node* node) {
71 if (!IsBranch(node)) return;
73 Node* condNode = node->InputAt(0);
75 node->ReplaceInput(0, DuplicateNode(condNode));
79 void BranchConditionDuplicator::Enqueue(Node* node) {
80 if (seen_.Get(node)) return;
81 seen_.Set(node, true);
82 to_visit_.push(node);
85 void BranchConditionDuplicator::VisitNode(Node* node) {
86 DuplicateConditionIfNeeded(node);
88 for (int i = 0; i < node->op()->ControlInputCount(); i++) {
89 Enqueue(NodeProperties::GetControlInput(node, i));
96 Node* node = to_visit_.front();
98 VisitNode(node);