Lines Matching defs:target
33 // A target is a fallthrough of a control node if its ID is the next ID
37 bool IsTargetOfNodeFallthrough(ControlNode* node, BasicBlock* target) {
38 return node->id() + 1 == target->first_id();
53 if (IsTargetOfNodeFallthrough(jump, jump->target())) {
61 bool IsLiveAtTarget(ValueNode* node, ControlNode* source, BasicBlock* target) {
66 if (target->control_node()->id() <= source->id()) {
67 // Gap moves may already be inserted in the target, so skip over those.
68 return node->id() < target->FirstNonGapMoveId();
75 return node->live_range().end >= target->first_id();
157 // at the target.
159 NearestPostDominatingHole(node->target()->control_node()));
235 BasicBlock* target = control->Cast<Jump>()->target();
237 << " " << control->id() << "-" << target->first_id();
456 compiler::AllocatedOperand target(compiler::LocationOperand::REGISTER,
463 << target << " ← " << source << std::endl;
465 AddMoveBeforeCurrentNode(source, target);
474 ConditionalControlNode* control_node, BasicBlock* target) {
475 if (target->is_empty_block()) {
477 Jump* jump = target->control_node()->Cast<Jump>();
478 target = jump->target();
479 return MergeRegisterValues(control_node, target, jump->predecessor_id());
481 if (target->has_state()) {
483 return InitializeBranchTargetRegisterValues(control_node, target);
486 DCHECK_EQ(control_node->id() + 1, target->first_id());
491 if (!IsLiveAtTarget(node, control_node, target)) {
510 // Inject allocation into target phis.
512 BasicBlock* target = unconditional->target();
513 if (target->has_phi()) {
514 Phi::List* phis = target->phis();
531 MergeRegisterValues(unconditional, unconditional->target(),
565 compiler::AllocatedOperand source, compiler::AllocatedOperand target) {
567 Node::New<GapMove>(compilation_unit_->zone(), {}, source, target);
756 // Then fill it in with target information.
787 ControlNode* source, BasicBlock* target) {
788 MergePointRegisterState& target_state = target->state()->register_state();
795 if (!IsLiveAtTarget(node, source, target)) node = nullptr;
802 BasicBlock* target,
804 MergePointRegisterState& target_state = target->state()->register_state();
807 return InitializeBranchTargetRegisterValues(control, target);
810 int predecessor_count = target->state()->predecessor_count();
825 if (!IsLiveAtTarget(incoming, control, target)) {
831 // We're using the same register as the target already has. If registers