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