function instead of 'goto' in C backend

Hello, guys.
You know LLVM C backend emits 'goto' statement for branching, being based on the bytecode which is composed of units of the basic block.

Therefore, I wonder if it would be hard to modify the C backend so as to spits out functions instead of 'goto' statements for branching.

I'm just a novice so I have no good sense on this if this would be feasible.
How do you think of this, guys?

Seung J. Lee