Files
archived-llvm/test/CodeGen/WebAssembly/reg-argument.mir
Thomas Lively 44cde01a89 [WebAssembly] Make returns variadic
Summary:
This is necessary and sufficient to get simple cases of multiple
return working with multivalue enabled. More complex cases will
require block and loop signatures to be generalized to potentially be
type indices as well.

Reviewers: aheejin, dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68684

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374235 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-09 21:42:08 +00:00

60 lines
1.5 KiB
YAML

# RUN: llc -mtriple=wasm32-unknown-unknown %s -o - -run-pass wasm-argument-move | FileCheck %s
# wasm-argument-move pass moves all ARGUMENT instructions to the top of the
# entry BB.
---
name: argument_i32
# CHECK-LABEL: argument_i32
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %1:i32 = ARGUMENT_i32 0
bb.0:
%0:i32 = CONST_I32 0, implicit-def $arguments
%1:i32 = ARGUMENT_i32 0, implicit $arguments
RETURN implicit-def $arguments
...
---
name: argument_i64
# CHECK-LABEL: argument_i64
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %1:i64 = ARGUMENT_i64 0
bb.0:
%0:i32 = CONST_I32 0, implicit-def $arguments
%1:i64 = ARGUMENT_i64 0, implicit $arguments
RETURN implicit-def $arguments
...
---
name: argument_f32
# CHECK-LABEL: argument_f32
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %1:f32 = ARGUMENT_f32 0
bb.0:
%0:i32 = CONST_I32 0, implicit-def $arguments
%1:f32 = ARGUMENT_f32 0, implicit $arguments
RETURN implicit-def $arguments
...
---
name: argument_f64
# CHECK-LABEL: argument_f64
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %1:f64 = ARGUMENT_f64 0
bb.0:
%0:i32 = CONST_I32 0, implicit-def $arguments
%1:f64 = ARGUMENT_f64 0, implicit $arguments
RETURN implicit-def $arguments
...
---
name: argument_exnref
# CHECK-LABEL: argument_exnref
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %1:exnref = ARGUMENT_exnref 0
bb.0:
%0:i32 = CONST_I32 0, implicit-def $arguments
%1:exnref = ARGUMENT_exnref 0, implicit $arguments
RETURN implicit-def $arguments
...