プログラムのパフォーマンス解析

9. ループ中に制御が逆方向に進む箇所があります。

ループの中に、GOTO や、逆方向に流れたりループ本体から抜けたりするような制御フローが使用されています。すなわち、コンパイラはループの内部にある文が、すでに実行済みのコードに戻るフローになっていると解釈します。複数の出口が存在するループの場合と同様に、このループを並列化することは安全ではありません。

逆方向の制御フローを取り除く (または最小限に抑える) ことにより、コンパイラはより積極的な最適化を実現できるようになります。