Lines Matching defs:control
33 // A target is a fallthrough of a control node if its ID is the next ID
34 // after the control node.
42 // Conditional control nodes don't cause holes themselves. So, the nearest
43 // post-dominating hole is the conditional control node's next post-dominating
90 // Compute, for all forward control nodes (i.e. excluding Return and JumpLoop) a
91 // tree of post-dominating control flow holes.
93 // Control flow which interrupts linear control flow fallthrough for basic
94 // blocks is considered to introduce a control flow "hole".
100 // Control flow { │ │ Jump │ │ Linear control flow
146 // Since we only care about forward control, loop jumps are treated the same as
154 ControlNode* control = block->control_node();
155 if (auto node = control->TryCast<Jump>()) {
156 // If the current control node is a jump, prepend it to the list of jumps
158 control->set_next_post_dominating_hole(
160 } else if (auto node = control->TryCast<ConditionalControlNode>()) {
167 // control-node of the longest branch after the last node of the shortest
176 // reachable control-node of the longest branch (the second control
180 control->set_next_post_dominating_hole(second);
192 // the control node.
193 control->set_next_post_dominating_hole(first);
230 ControlNode* control = NearestPostDominatingHole(block->control_node());
231 if (!control->Is<JumpLoop>()) {
234 if (control->Is<Jump>()) {
235 BasicBlock* target = control->Cast<Jump>()->target();
237 << " " << control->id() << "-" << target->first_id();
238 control = control->next_post_dominating_hole();
239 DCHECK_NOT_NULL(control);
241 } else if (control->Is<Return>()) {
242 printing_visitor_->os() << " " << control->id() << ".";
244 } else if (control->Is<Deopt>()) {
245 printing_visitor_->os() << " " << control->id() << "✖️";
247 } else if (control->Is<JumpLoop>()) {
248 printing_visitor_->os() << " " << control->id() << "↰";
529 // Empty blocks are immediately merged at the control of their predecessor.
572 // We're at the control node, so append instead.
801 void StraightForwardRegisterAllocator::MergeRegisterValues(ControlNode* control,
807 return InitializeBranchTargetRegisterValues(control, target);
825 if (!IsLiveAtTarget(incoming, control, target)) {