try to generate in-place code