when Taildup hit loop with multiple latches like:
// 1 -> 2 <-> 3 | // \ <-> 4 | // \ <-> 5 | // \---> rest |
it may transform this loop into multiple loops by duplicate loop header.
However, this change may has little benefit while makes cfg much complex.
In some uncommon cases, it causes large compile time regression (offered by
@alexfh in D106056).
This patch disable tail-duplicate of such cases.
PS: It checks the number of latches > 2 since we want to omit conditional branch.
TestPlan: check-llvm
nit: A renamed to MBB or TailBB.