mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[WebAssembly] Update grow_memory's return type.
The grow_memory instruction now returns the previous memory size. Add the return type to the LLVM intrinsic. llvm-svn: 292322
This commit is contained in:
parent
bb065eba97
commit
152823fee3
@ -17,6 +17,6 @@ let TargetPrefix = "wasm" in { // All intrinsics start with "llvm.wasm.".
|
||||
// Note that current_memory is not IntrNoMem because it must be sequenced with
|
||||
// respect to grow_memory calls.
|
||||
def int_wasm_current_memory : Intrinsic<[llvm_anyint_ty], [], [IntrReadMem]>;
|
||||
def int_wasm_grow_memory : Intrinsic<[], [llvm_anyint_ty], []>;
|
||||
def int_wasm_grow_memory : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>], []>;
|
||||
|
||||
}
|
||||
|
@ -673,9 +673,9 @@ def CURRENT_MEMORY_I32 : I<(outs I32:$dst), (ins i32imm:$flags),
|
||||
Requires<[HasAddr32]>;
|
||||
|
||||
// Grow memory.
|
||||
def GROW_MEMORY_I32 : I<(outs), (ins i32imm:$flags, I32:$delta),
|
||||
def GROW_MEMORY_I32 : I<(outs I32:$dst), (ins i32imm:$flags, I32:$delta),
|
||||
[],
|
||||
"grow_memory\t$delta", 0x40>,
|
||||
"grow_memory\t$dst, $delta", 0x40>,
|
||||
Requires<[HasAddr32]>;
|
||||
|
||||
} // Defs = [ARGUMENTS]
|
||||
|
@ -6,7 +6,7 @@ target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
|
||||
target triple = "wasm32-unknown-unknown"
|
||||
|
||||
declare i32 @llvm.wasm.current.memory.i32() nounwind readonly
|
||||
declare void @llvm.wasm.grow.memory.i32(i32) nounwind
|
||||
declare i32 @llvm.wasm.grow.memory.i32(i32) nounwind
|
||||
|
||||
; CHECK-LABEL: current_memory:
|
||||
; CHECK-NEXT: .result i32{{$}}
|
||||
@ -19,9 +19,10 @@ define i32 @current_memory() {
|
||||
|
||||
; CHECK-LABEL: grow_memory:
|
||||
; CHECK-NEXT: .param i32{{$}}
|
||||
; CHECK: grow_memory $0{{$}}
|
||||
; CHECK-NEXT: return{{$}}
|
||||
define void @grow_memory(i32 %n) {
|
||||
call void @llvm.wasm.grow.memory.i32(i32 %n)
|
||||
ret void
|
||||
; CHECK-NEXT: .result i32{{$}}
|
||||
; CHECK: grow_memory $push0=, $0{{$}}
|
||||
; CHECK-NEXT: return $pop0{{$}}
|
||||
define i32 @grow_memory(i32 %n) {
|
||||
%a = call i32 @llvm.wasm.grow.memory.i32(i32 %n)
|
||||
ret i32 %a
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user