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

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 00:37:37 PDT 2020


tlively marked an inline comment as done.
tlively added inline comments.


================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td:61
                       0x0e>;
-} // isTerminator = 1, hasCtrlDep = 1, isBarrier = 1
+} // isTerminator = 1, hasCtrlDep = 1, isBarrier = 1, isNotDuplicable = 1
 
----------------
arsenm wrote:
> Does isConvergent accomplish the same thing here?
It would, but to be honest I'm still not sure what it means for an instruction to be convergent or not. I know convergent instructions can't get any new control flow dependencies, but I don't have a good sense of why that might be an important property and what kind of instructions would need it. Do you have a good intuitive explanation for that? If it makes more sense, I would be happy to use `isConvergent` rather than `isNotDuplicable`. I looked at the places they are used earlier and either seems fine for this instruction.


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