From ad9d68c2b44dce12e13bf038f27ba5182b655345 Mon Sep 17 00:00:00 2001 From: Heejin Ahn Date: Fri, 16 Nov 2018 00:48:58 +0000 Subject: [PATCH] [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 --- clang/include/clang/Basic/BuiltinsWebAssembly.def | 2 +- clang/test/CodeGen/builtins-wasm.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 %{{.*}}) -- 2.7.4