From 5077597e0d5b86d9f9c27286d8b28f8b3645a74c Mon Sep 17 00:00:00 2001 From: Thomas Lively Date: Wed, 13 Feb 2019 22:11:16 +0000 Subject: [WebAssembly] Bulk memory intrinsics and builtins Summary: implements llvm intrinsics and clang intrinsics for memory.init and data.drop. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57736 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353983 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/IntrinsicsWebAssembly.td | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'include/llvm') diff --git a/include/llvm/IR/IntrinsicsWebAssembly.td b/include/llvm/IR/IntrinsicsWebAssembly.td index 874465e4a02..bfeb7063ced 100644 --- a/include/llvm/IR/IntrinsicsWebAssembly.td +++ b/include/llvm/IR/IntrinsicsWebAssembly.td @@ -110,4 +110,18 @@ def int_wasm_alltrue : [llvm_anyvector_ty], [IntrNoMem, IntrSpeculatable]>; +//===----------------------------------------------------------------------===// +// Bulk memory intrinsics +//===----------------------------------------------------------------------===// + +def int_wasm_memory_init : + Intrinsic<[], + [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty], + [IntrWriteMem, IntrInaccessibleMemOrArgMemOnly, WriteOnly<2>, + IntrHasSideEffects]>; +def int_wasm_data_drop : + Intrinsic<[], + [llvm_i32_ty], + [IntrNoDuplicate, IntrHasSideEffects]>; + } // TargetPrefix = "wasm" -- cgit v1.2.3