The "jump threading" compiler optimization (aka -fthread-jump) turns conditional into unconditional branches on certain paths at the expense of code size. For hardware with branch prediction, speculative execution, and prefetching, this can greatly improve performance. However, there is no scientific publication or documentation at all. The Wikipedia article is very short and incomplete.
The linked article has an illustrated treatment of common code structures and how these optimizations work.
(Score: 2) by gnuman on Tuesday November 03 2015, @05:18AM
Crazy, I know.
It's called code style or coding guidelines. Especially with C, you need to follow it or you get yourself in trouble.
And there is nothing wrong with this code style. Compilers easily optimize it removing the goto, but it's actually easier to understand for humans. Successful return statement in ONE place.