'Add assignments to forward requested outgoing values
to subsequent blocks.'

def _insert_outgoing_phis(self):

    for (phiname, varname) in self.dfainfo.outgoing_phis.items():
        target = self.current_scope.get_or_define(phiname, loc=self.loc)
        stmt = ir.Assign(value=self.get(varname), target=target, loc=self.loc)
        self.definitions[target.name].append(stmt.value)
        if (not self.current_block.is_terminated):
            self.current_block.append(stmt)
        else:
            self.current_block.insert_before_terminator(stmt)
