[llvm-dev] Optimization Pass to Split a "Merge" Block

William Moses via llvm-dev llvm-dev at lists.llvm.org
Sat Jun 22 12:19:17 PDT 2019


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:
  ....
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190622/7d2467ad/attachment.html>


More information about the llvm-dev mailing list