code generation

if cg