You also don't have to scratch very hard in compiler optimizations either before you start running into it causing actual real problems or unpredictable behavior in production code.
Not even in a JIT either. In a standard AOT compiler.
That's without getting into Tomasulo's algorithm or how modern branch predictors work.