[PATCH] D58919: WebAssembly: Irreducible control flow rewrite

Alon Zakai via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 4 12:31:59 PST 2019


kripken created this revision.
kripken added a reviewer: aheejin.
Herald added subscribers: llvm-commits, jdoerfert, mgrang, sunfish, jgravelle-google, sbc100, dschuff.
Herald added a project: LLVM.

  Rewrite WebAssemblyFixIrreducibleControlFlow to a simpler and cleaner design,
  which directly computes reachability and other properties itself. This avoids
  previous complexity and bugs. (The new graph analyses are very similar to how
  the Relooper algorithm would find loop entries and so forth.)
  
  This fixes a few bugs, including where we had a false positive and thought
  fannkuch was irreducible when it was not, which made us much larger and
  slower there, and a reverse bug where we missed irreducibility. On fannkuch,
  we used to be 44% slower than asm2wasm and are now 4% faster.


Repository:
  rL LLVM

https://reviews.llvm.org/D58919

Files:
  lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
  test/CodeGen/WebAssembly/irreducible-cfg.ll
  test/CodeGen/WebAssembly/non-irreducible-cfg.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58919.189189.patch
Type: text/x-patch
Size: 31295 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190304/d6313fb6/attachment.bin>


More information about the llvm-commits mailing list