The Vivado timing engine calculates the conservative requirement of 0 ns between two latches that have the same sensitivity level. Because time borrowing happens on the second latch, such topology can significantly impact the runtime of timing analysis and implementation.