[llvm-dev] Optimization Pass to Split a "Merge" Block
Jameson Nash via llvm-dev
llvm-dev at lists.llvm.org
Sat Jun 22 14:18:24 PDT 2019
Are you thinking of Jump Threading? I can't say for certain whether LLVM's
implementation would handle this exact case, but that's the pass I'd expect
to be applicable here.
On Sat, Jun 22, 2019 at 3:19 PM William Moses via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> 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:
> ....
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190622/d6dfa7dd/attachment.html>
More information about the llvm-dev
mailing list