Hi all,
Is there an existing optimization in LLVM that will get split or rid of the “merge” block into the cases of where it’s from.
Evidently doing this for all cases could result in a blowup of code, but perhaps this exists somewhere for more limited cases (for example where the merge block could be eliminated entirely).
Cheers,
Billy Moses
A:
…
br merge
B:
…
br merge
merge:
%var = phi [%a, A], [%b, B]
%wherefrom = phi [true, A], [false, B]
br cond %wherefrom A2, B2
A2:
…
B2:
…