added IF code generation, and all non generating code flag