]> granicus.if.org Git - clang/commitdiff
[WebAssembly] Update wasm builtin functions to match spec changes.
authorDan Gohman <dan433584@gmail.com>
Thu, 5 Nov 2015 20:16:37 +0000 (20:16 +0000)
committerDan Gohman <dan433584@gmail.com>
Thu, 5 Nov 2015 20:16:37 +0000 (20:16 +0000)
The page_size operator has been removed from the spec, and the resize_memory
operator has been changed to grow_memory.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252201 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/BuiltinsWebAssembly.def
lib/CodeGen/CGBuiltin.cpp
test/CodeGen/builtins-wasm.c

index 2f48d5d2b19426320082d8372aa36f09d6eb5189..58171c80672611c20c0c339ceefbf1762f2ad342 100644 (file)
@@ -16,8 +16,7 @@
 
 // The format of this database matches clang/Basic/Builtins.def.
 
-BUILTIN(__builtin_wasm_page_size, "z", "nc")
 BUILTIN(__builtin_wasm_memory_size, "z", "nc")
-BUILTIN(__builtin_wasm_resize_memory, "vz", "n")
+BUILTIN(__builtin_wasm_grow_memory, "vz", "n")
 
 #undef BUILTIN
index 425f7dbf8a2c75d93c0d4e324bb2639660470c02..50535d386e708b028d1c6567c333d88d234c3651 100644 (file)
@@ -7274,19 +7274,14 @@ Value *CodeGenFunction::EmitNVPTXBuiltinExpr(unsigned BuiltinID,
 Value *CodeGenFunction::EmitWebAssemblyBuiltinExpr(unsigned BuiltinID,
                                                    const CallExpr *E) {
   switch (BuiltinID) {
-  case WebAssembly::BI__builtin_wasm_page_size: {
-    llvm::Type *ResultType = ConvertType(E->getType());
-    Value *Callee = CGM.getIntrinsic(Intrinsic::wasm_page_size, ResultType);
-    return Builder.CreateCall(Callee);
-  }
   case WebAssembly::BI__builtin_wasm_memory_size: {
     llvm::Type *ResultType = ConvertType(E->getType());
     Value *Callee = CGM.getIntrinsic(Intrinsic::wasm_memory_size, ResultType);
     return Builder.CreateCall(Callee);
   }
-  case WebAssembly::BI__builtin_wasm_resize_memory: {
+  case WebAssembly::BI__builtin_wasm_grow_memory: {
     Value *X = EmitScalarExpr(E->getArg(0));
-    Value *Callee = CGM.getIntrinsic(Intrinsic::wasm_resize_memory, X->getType());
+    Value *Callee = CGM.getIntrinsic(Intrinsic::wasm_grow_memory, X->getType());
     return Builder.CreateCall(Callee, X);
   }
 
index 2de08c71c8334f2a77551548e022fc1e46454905..15f2e9dbf324417846179e8bd05525400a3f5f4b 100644 (file)
@@ -3,12 +3,6 @@
 // RUN: %clang_cc1 -triple wasm64-unknown-unknown -O3 -emit-llvm -o - %s \
 // RUN:   | FileCheck %s -check-prefix=WEBASSEMBLY64
 
-__SIZE_TYPE__ f0(void) {
-  return __builtin_wasm_page_size();
-// WEBASSEMBLY32: call {{i.*}} @llvm.wasm.page.size.i32()
-// WEBASSEMBLY64: call {{i.*}} @llvm.wasm.page.size.i64()
-}
-
 __SIZE_TYPE__ f1(void) {
   return __builtin_wasm_memory_size();
 // WEBASSEMBLY32: call {{i.*}} @llvm.wasm.memory.size.i32()
@@ -16,7 +10,7 @@ __SIZE_TYPE__ f1(void) {
 }
 
 void f2(long delta) {
-  __builtin_wasm_resize_memory(delta);
-// WEBASSEMBLY32: call void @llvm.wasm.resize.memory.i32(i32 %{{.*}})
-// WEBASSEMBLY64: call void @llvm.wasm.resize.memory.i64(i64 %{{.*}})
+  __builtin_wasm_grow_memory(delta);
+// WEBASSEMBLY32: call void @llvm.wasm.grow.memory.i32(i32 %{{.*}})
+// WEBASSEMBLY64: call void @llvm.wasm.grow.memory.i64(i64 %{{.*}})
 }