[PATCH] D49395: [WebAssembly] Support for atomic.wait / atomic.wake instructions

Derek Schuff via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 31 17:33:57 PDT 2018


dschuff added a comment.

Note that in JS, atomics.wake is now atomics.notify (https://github.com/tc39/ecma262/pull/1220). So we should use the new terminology for new and internal stuff. Since there's no legacy yet (except maybe in Binaryen's and WABT's text parser) hopefully LLVM can just use "notify" everywhere.

I think wake does not load the given address. the list of waiters is outside of the memory and invisible to LLVM, it just happens to share the same index space. So I think `hasSideEffects` is the right way to model that.



================
Comment at: include/llvm/IR/IntrinsicsWebAssembly.td:75
+  Intrinsic<[llvm_i32_ty],
+            [LLVMPointerType<llvm_i32_ty>, llvm_i32_ty, llvm_i64_ty],
+            [IntrInaccessibleMemOrArgMemOnly, ReadOnly<0>, NoCapture<0>,
----------------
Same signature adjustments as suggested in the clang CL. 


Repository:
  rL LLVM

https://reviews.llvm.org/D49395





More information about the llvm-commits mailing list