Optimising for non-blocking synchronous layouts