[WebAssembly] Add a memory_size intrinsic.
[oota-llvm.git] / test / CodeGen / WebAssembly / memory-addr64.ll
index 4395d9c3740225b13e9227609a116e0bf1a377b2..e4a6190b45ccfd177287e7f64870481b1a372d6d 100644 (file)
@@ -6,6 +6,7 @@ target datalayout = "e-p:64:64-i64:64-n32:64-S128"
 target triple = "wasm64-unknown-unknown"
 
 declare i64 @llvm.wasm.page.size.i64() nounwind readnone
+declare i64 @llvm.wasm.memory.size.i64() nounwind readnone
 
 ; CHECK-LABEL: (func $page_size
 ; CHECK-NEXT: (result i64)
@@ -15,3 +16,12 @@ define i64 @page_size() {
   %a = call i64 @llvm.wasm.page.size.i64()
   ret i64 %a
 }
+
+; CHECK-LABEL: (func $memory_size
+; CHECK-NEXT: (result i64)
+; CHECK-NEXT: (setlocal @0 (memory_size))
+; CHECK-NEXT: (return @0)
+define i64 @memory_size() {
+  %a = call i64 @llvm.wasm.memory.size.i64()
+  ret i64 %a
+}