[PATCH] D55467: [WebAssembly] Optimize Irreducible Control Flow

Alon Zakai via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 13 15:24:05 PST 2018


kripken added a comment.

In D55467#1330455 <https://reviews.llvm.org/D55467#1330455>, @sunfish wrote:

> In D55467#1326244 <https://reviews.llvm.org/D55467#1326244>, @kripken wrote:
>
> > In D55467#1326177 <https://reviews.llvm.org/D55467#1326177>, @sunfish wrote:
> >
> > > Do we know what part of the optimizer or codegen is introducing the irreducible control flow in malloc?
> >
> >
> > Some other musl libc elements with irreducible control flow that show up in a hello world are actually irreducible in the source (!), I verified.
>
>
> Do you by chance remember which functions this was?


One is

https://github.com/kripken/emscripten/blob/incoming/system/lib/libc/musl/src/multibyte/mbsrtowcs.c

That one looks clearly irreducible. Musl has a bunch more goto cases, which end up irreducible in the backend, but it can be kind of hard to inspect visually, like

https://github.com/kripken/emscripten/blob/incoming/system/lib/libc/musl/src/locale/iconv.c


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55467/new/

https://reviews.llvm.org/D55467





More information about the llvm-commits mailing list