reland: [Local] Allow creating callbr with duplicate successors
Since D129288, callbr is allowed to have duplicate successors. This patch removes a limitation which prevents optimizations from actually producing such callbrs.
This is probably the riskiest of all the recent callbr changes, because code with incorrect assumptions might be lurking somewhere. I fixed the one case I encountered ahead of time in https://github.com/llvm/llvm-project/commit/
8201e3ef5c84561260218bc041209611aac690e3.
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D129997
Originally landed as
commit
08860f525a23 ("[Local] Allow creating callbr with duplicate successors")
Reverted in
commit
1cf6b93df168 ("Revert "[Local] Allow creating callbr with duplicate successors"")