Lines Matching defs:control
5 #include "src/compiler/effect-control-linearizer.h"
355 Node* current_control = nullptr; // New control.
408 Node* control = block->NodeAt(0);
409 DCHECK(NodeProperties::IsControl(control));
412 if (control->opcode() == IrOpcode::kEnd) return;
414 // Update all inputs to the given control node with the correct control.
415 DCHECK(control->opcode() == IrOpcode::kMerge ||
416 static_cast<size_t>(control->op()->ControlInputCount()) ==
418 if (static_cast<size_t>(control->op()->ControlInputCount()) !=
420 return; // We already re-wired the control inputs of this node.
422 for (int i = 0; i < control->op()->ControlInputCount(); i++) {
423 Node* input = NodeProperties::GetControlInput(control, i);
428 NodeProperties::ReplaceControlInput(control, block_effect.current_control,
467 // EffectPhi nodes whose uses have either the IfTrue or IfFalse as control
533 // directly control-dependend on either the IfTrue or the IfFalse
536 Node* control = NodeProperties::GetControlInput(edge.from());
538 control = NodeProperties::GetControlInput(control, edge.index());
540 if (control != matcher.IfTrue() && control != matcher.IfFalse()) return;
586 Node* control = NodeProperties::GetControlInput(edge.from());
588 control = NodeProperties::GetControlInput(control, edge.index());
590 DCHECK(control == matcher.IfTrue() || control == matcher.IfFalse());
591 edge.UpdateTo((control == matcher.IfTrue()) ? phi_true : phi_false);
632 // The control node should be the first.
633 Node* control = *instr;
634 gasm()->AddNode(control);
636 DCHECK(NodeProperties::IsControl(control));
637 bool has_incoming_backedge = IrOpcode::kLoop == control->opcode();
638 // Update the control inputs.
641 // computed the control yet.
659 DCHECK_NE(IrOpcode::kIfException, control->opcode());
689 DCHECK_EQ(graph()->start(), control);
691 } else if (control->opcode() == IrOpcode::kEnd) {
693 DCHECK_EQ(BasicBlock::kNone, block->control());
709 DCHECK_NE(IrOpcode::kIfException, control->opcode());
714 inputs_buffer.push_back(control);
720 if (control->opcode() == IrOpcode::kLoop) {
725 } else if (control->opcode() == IrOpcode::kIfException) {
728 NodeProperties::ReplaceEffectInput(control, effect);
729 effect = control;
758 gasm()->InitializeEffectControl(effect, control);
766 switch (block->control()) {
783 block->control() == BasicBlock::kBranch) {
789 // Store the effect, control and frame state for later use.
796 data->current_control = gasm()->control();
826 // Rewire control inputs.
828 NodeProperties::ReplaceControlInput(node, gasm()->control(), i);
838 // and control inputs to mark it as dead, but don't process further.
844 // If the node needs to be wired into the effect/control chain, do this
1388 "Effect control linearizer lowering of '%s':"
1394 gasm()->control());
5112 // Update effect and control
5116 inputs[c_arg_count + 3] = __ control();
5119 inputs[c_arg_count + 2] = __ control();
5155 slow_inputs[index + 1] = __ control();
5270 // control].