1. A method for designing a system on a target device, comprising: generating a first netlist for a first version of the system after performing synthesis in a first compilation; performing optimizations on the first version of the system during placement and routing in the first compilation resulting in a second netlist; generating a third netlist for a second version of the system after performing synthesis in a second compilation; generating a hybrid netlist from the first, second, and third netlists; and performing incremental placement and routing on portions of the hybrid netlist that are new to the first compilation.