1. An optimizing compiler comprising: a source program analyzer for converting a source program written in a first language into intermediate codes, said source code having a conditional branch statement; an optimization unit for receiving said intermediate codes from said source program analyzer and for optimizing said intermediate codes; and a code generator for receiving said optimized intermediate codes from said optimization unit and for converting said optimized intermediate codes into an object program written in a second language, wherein said optimization unit includes a data flow analyzer for determining, from said intermediate codes received by said optimization unit, whether one destination of said conditional branch statement does not refer to a result of a statement to be executed precedent to said conditional branch statement, a program structure analyzer for determining, from said intermediate codes received by said optimization unit, whether said conditional branch statement is not affected by the execution result of said precedent statement, and a program structure changer for shifting said conditional branch statement before the precedent statement in accordance with the determination of said data flow analyzer and the determination of said program structure analyzer, to suppress an execution of an unnecessary statement.