[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