[PATCH] D150803: [WebAssembly] Add a new `wasm_async` clang attribute for marking async functions.

2023-06-01 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added a comment. In D150803#4389040 , @dschuff wrote: > Hm, this is interesting because in the long term we plan to have stack > switching in wasm, which could allow for similar async behavior that JSPI > has, and could be useful in non-web syst

[PATCH] D150803: [WebAssembly] Add a new `wasm_async` clang attribute for marking async functions.

2023-06-06 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added a comment. wasm_jspi works for me. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150803/new/ https://reviews.llvm.org/D150803 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https:/

[PATCH] D150803: [WebAssembly] Add a new `wasm_async` clang attribute for marking async functions.

2023-06-06 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added a comment. In D150803#4401204 , @sbc100 wrote: > In D150803#4401061 , @sunfish wrote: > >> wasm_jspi works for me. > > The problem with that is that we will also likely want to use this attribute >

[PATCH] D150803: Add a new `wasm_custom` clang attribute for marking functions.

2023-06-13 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added a comment. Would it make sense to call this "jspi" in practice, rather than "async"? Even though this isn't clang's decision per se anymore, it seems like the reasoning earlier in this review would still apply. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION ht

[PATCH] D28381: [WebAssembly] Always inline atomics

2017-01-06 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added a comment. Since we may soon have people prototyping actual atomics, I'd prefer to find a less invasive way to fix this. Would it be difficult to enable atomic.c in Emscripten's compiler-rt build, to define these libcalls (assuming that the problem is just that they're not curren

[PATCH] D28381: [WebAssembly] Always inline atomics

2017-01-06 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added a comment. (Emscripten does set the thread model.) Whether WebAssembly should provide 64-bit atomics when on hardware where they're not lock-free is an interesting wasm design question, and the code here and in target-independent parts of clang may need to be changed as a result

[PATCH] D37831: [WebAssembly] Don't pass -ffunction-section/-fdata-sections

2018-01-31 Thread Dan Gohman via Phabricator via cfe-commits
sunfish accepted this revision. sunfish added a comment. This revision is now accepted and ready to land. In https://reviews.llvm.org/D37831#871238, @dschuff wrote: > I think the reasoning was really just that code size reduction is even more > important on wasm than other platforms, and because

[PATCH] D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR

2021-05-06 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added inline comments. Comment at: llvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h:39 + // pointers are lowered to global.get / global.set or local.get / local.set, + // as appropriate. + WASM_ADDRESS_SPACE_MANAGED = 1 Sorry to throw more pain

[PATCH] D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR

2021-05-06 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added inline comments. Comment at: llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp:1279 + if (const GlobalAddressSDNode *GA = dyn_cast(Op)) +return WebAssembly::isManagedAddressSpace(GA->getAddressSpace()); + sbc100 wrote: > sunfish wrote: >

[PATCH] D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR

2021-05-06 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added inline comments. Comment at: llvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h:39 + // pointers are lowered to global.get / global.set or local.get / local.set, + // as appropriate. + WASM_ADDRESS_SPACE_MANAGED = 1 tlively wrote: > sunfish

[PATCH] D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR

2021-05-06 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added inline comments. Comment at: llvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h:39 + // pointers are lowered to global.get / global.set or local.get / local.set, + // as appropriate. + WASM_ADDRESS_SPACE_MANAGED = 1 tlively wrote: > sunfish

[PATCH] D100411: [WebAssembly] Use standard intrinsics for f32x4 and f64x2 ops

2021-04-13 Thread Dan Gohman via Phabricator via cfe-commits
sunfish accepted this revision. sunfish added a comment. This revision is now accepted and ready to land. This looks good to me! Could you briefly comment here on what the issue with `llvm.roundeven` is? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org

[PATCH] D100411: [WebAssembly] Use standard intrinsics for f32x4 and f64x2 ops

2021-04-13 Thread Dan Gohman via Phabricator via cfe-commits
sunfish added a comment. Great, thanks! And yes, switching to roundeven for both scalar and SIMD ISel sounds right to me. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100411/new/ https://reviews.llvm.org/D100411 _

<    1   2