@@ -864,8 +864,8 @@ void swift::placeFuncRef(ApplyInst *ai, DominanceInfo *domInfo) {
864864// / Add an argument, \p val, to the branch-edge that is pointing into
865865// / block \p Dest. Return a new instruction and do not erase the old
866866// / instruction.
867- TermInst *swift::addArgumentToBranch ( SILValue val, SILBasicBlock *dest ,
868- TermInst *branch) {
867+ TermInst *swift::addArgumentsToBranch (ArrayRef< SILValue> vals ,
868+ SILBasicBlock *dest, TermInst *branch) {
869869 SILBuilderWithScope builder (branch);
870870
871871 if (auto *cbi = dyn_cast<CondBranchInst>(branch)) {
@@ -879,10 +879,12 @@ TermInst *swift::addArgumentToBranch(SILValue val, SILBasicBlock *dest,
879879 falseArgs.push_back (arg);
880880
881881 if (dest == cbi->getTrueBB ()) {
882- trueArgs.push_back (val);
882+ for (auto val : vals)
883+ trueArgs.push_back (val);
883884 assert (trueArgs.size () == dest->getNumArguments ());
884885 } else {
885- falseArgs.push_back (val);
886+ for (auto val : vals)
887+ falseArgs.push_back (val);
886888 assert (falseArgs.size () == dest->getNumArguments ());
887889 }
888890
@@ -898,7 +900,8 @@ TermInst *swift::addArgumentToBranch(SILValue val, SILBasicBlock *dest,
898900 for (auto arg : bi->getArgs ())
899901 args.push_back (arg);
900902
901- args.push_back (val);
903+ for (auto val : vals)
904+ args.push_back (val);
902905 assert (args.size () == dest->getNumArguments ());
903906 return builder.createBranch (bi->getLoc (), bi->getDestBB (), args);
904907 }
0 commit comments