A method, data processing system and computer program product for
optimizing the placement of logic gates of a subcircuit in a physical
synthesis flow. A Path Smoothing utility identifies one or more movable
gates based on at least one selection criteria. A set of legalized
candidate locations corresponding to one or more identified movable gates
is generated. A disjunctive timing graph based on the generated set of
legalized candidate locations is then generated. An optimal location of
one or more movable gate(s) is determined using a recursive
branch-and-bound search and stored in the computing device.