added noalias attribute for scalar and complex arguments
optimized codegen for the do stmt