Lines Matching defs:merge
147 // merge current into pred bb
507 GateRef merge;
512 merge = InitMerge(numOfIns, true);
514 std::vector<GateRef>(numOfIns + 1, Circuit::NullGate())); // 1: merge
516 // generate both loop begin and merge
519 merge = InitMerge(numOfLoopIns, true);
521 std::vector<GateRef>(numOfLoopIns + 1, Circuit::NullGate())); // 1: merge
525 std::vector<GateRef>(numOfMergeIns + 1, Circuit::NullGate())); // 1: merge
527 acc_.NewIn(dependMerge, 1, frameContext->mergeDepend_); // 1: phi of merge
528 acc_.NewIn(merge, 0, frameContext->mergeState_);
532 frameContext->loopBackState_ = merge;
534 // only merge
535 merge = InitMerge(numOfIns, false);
537 std::vector<GateRef>(numOfIns + 1, Circuit::NullGate())); // 1: merge
539 frameContext->mergeState_ = merge;
541 acc_.NewIn(dependMerge, 0, merge); // 0: is state
543 frameContext->currentState_ = merge;
549 headerGates[loopInfo.sortIndx] = merge;
610 acc_.NewIn(nextValue, mergedContext->loopBackIndex_ + 1, currentValue); // 1: merge
614 acc_.NewIn(nextValue, mergedContext->mergeIndex_ + 1, currentValue); // 1: merge
616 mergeValueSelector = acc_.GetIn(nextValue, 1); // 1: index of phi of merge
617 acc_.NewIn(mergeValueSelector, mergedContext->mergeIndex_ + 1, currentValue); // 1: merge
623 // build value selector for merge.
632 acc_.NewIn(phi, i + 1, nextValue); // 1: merge
635 acc_.NewIn(phi, mergedContext->mergeIndex_ + 1, currentValue); // 1: merge
651 acc_.NewIn(phi, 1, mergeValueSelector); // 1: merge
655 acc_.NewIn(phi, i + 1, nextValue); // 1: merge
659 acc_.NewIn(phi, mergedContext->loopBackIndex_ + 1, currentValue); // 1: merge
874 // if there is no merge state, which means it's the sole loop in.