1. A method for designing a system on a target device, comprising: synthesizing the system; mapping the system; placing the system on the target device; and performing physical synthesis on the system, after placing the system and prior to routing the system, by identifying a plurality of register retiming solutions for each register in the system, generating a choice netlist that represents the plurality of register retiming solutions where choice nodes are connected to alternative register retiming solutions from the plurality of register retiming solutions, performing combinational resynthesis on each register retiming solution of the plurality of register retiming solutions, and selecting a combinational resynthesis solution for the system, wherein at least one of the synthesizing, mapping, placing, and performing is conducted using a processor.