From: Heejin Ahn Date: Fri, 16 Nov 2018 00:48:58 +0000 (+0000) Subject: [WebAssembly] Change type of wake count to unsigned int X-Git-Tag: llvmorg-8.0.0-rc1~4157 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ad9d68c2b44dce12e13bf038f27ba5182b655345;p=platform%2Fupstream%2Fllvm.git [WebAssembly] Change type of wake count to unsigned int Summary: We discussed this at the Nov 12th CG meeting, and decided to use the unsigned semantics for the wake count. Corresponding spec change: https://github.com/WebAssembly/threads/pull/110 Reviewers: sbc100 Subscribers: dschuff, jgravelle-google, sunfish, jfb, cfe-commits Differential Revision: https://reviews.llvm.org/D54572 llvm-svn: 347005 --- diff --git a/clang/include/clang/Basic/BuiltinsWebAssembly.def b/clang/include/clang/Basic/BuiltinsWebAssembly.def index 92f14d9..e1e97fe 100644 --- a/clang/include/clang/Basic/BuiltinsWebAssembly.def +++ b/clang/include/clang/Basic/BuiltinsWebAssembly.def @@ -37,7 +37,7 @@ BUILTIN(__builtin_wasm_rethrow, "v", "r") // Atomic wait and notify. BUILTIN(__builtin_wasm_atomic_wait_i32, "ii*iLLi", "n") BUILTIN(__builtin_wasm_atomic_wait_i64, "iLLi*LLiLLi", "n") -BUILTIN(__builtin_wasm_atomic_notify, "Uii*i", "n") +BUILTIN(__builtin_wasm_atomic_notify, "Uii*Ui", "n") // Saturating fp-to-int conversions BUILTIN(__builtin_wasm_trunc_saturate_s_i32_f32, "if", "nc") diff --git a/clang/test/CodeGen/builtins-wasm.c b/clang/test/CodeGen/builtins-wasm.c index dc1923e..dce721e 100644 --- a/clang/test/CodeGen/builtins-wasm.c +++ b/clang/test/CodeGen/builtins-wasm.c @@ -77,7 +77,7 @@ int atomic_wait_i64(long long *addr, long long expected, long long timeout) { // WEBASSEMBLY64: call i32 @llvm.wasm.atomic.wait.i64(i64* %{{.*}}, i64 %{{.*}}, i64 %{{.*}}) } -unsigned int atomic_notify(int *addr, int count) { +unsigned int atomic_notify(int *addr, unsigned int count) { return __builtin_wasm_atomic_notify(addr, count); // WEBASSEMBLY32: call i32 @llvm.wasm.atomic.notify(i32* %{{.*}}, i32 %{{.*}}) // WEBASSEMBLY64: call i32 @llvm.wasm.atomic.notify(i32* %{{.*}}, i32 %{{.*}})