Fix how the ir cross compiler outputs conditional gotos, and change match statements so that we assume that a branch is always taken.