Switch case missing optimization

Andrew Haley aph@redhat.com
Sun Dec 3 09:34:00 GMT 2017


On 02/12/17 23:44, David Guillen Fandos wrote:
> In case I use a bunch of ifs (or a cascaded ? : sequence) it detects 
> that all the resulting values are the same and therefore there's no need 
> to add jumps, or even in the case where I use the last "else" to assign 
> some null value it optimizes on that on subsequent code. It's 
> interesting to see how switch/case is a special thing and it's never 
> optimized as if it were a bunch of if/else statements.

It's important to measure stuff like this, not just look at the code.
Today's processors do an amazing job of branch prediction, and I've
found that "improving" naive-looking code doesn't always help.
Processors expect to see naive-looking code.

-- 
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671



More information about the Gcc-help mailing list