Other jumps are expressed by either GOTO_EXPR or RETURN_EXPR.
The operand of a GOTO_EXPR must be either a label or a variable
containing the address to jump to.
The operand of a RETURN_EXPR is either NULL_TREE,
RESULT_DECL, or a MODIFY_EXPR which sets the return value. It
would be nice to move the MODIFY_EXPR into a separate statement, but the
special return semantics in expand_return make that difficult. It may
still happen in the future, perhaps by moving most of that logic into
expand_assignment.