[PATCH] D81628: [WebAssembly] Make BR_TABLE non-duplicable

Derek Schuff via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 13:15:30 PDT 2020


dschuff accepted this revision.
dschuff added a comment.

(discussed with @tlively offline). The root issue is that the `br_table` gets duplicated outside the wasm block that encloses the branch targets. That's what causes the irreducible control flow in this case. Because the target-independent passes that do the duplication can't reason about those wasm blocks (since we haven't done the analysis that places them until later in the pass pipeline) it probably just makes sense to use noduplicate, which is a stronger limitation than convergent.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D81628





More information about the llvm-commits mailing list