xref: /llvm-project/llvm/test/CodeGen/WebAssembly/reg-argument.mir (revision c179d50fd3d84311708701d84e3bca60570d3d7f)
1# RUN: llc -mtriple=wasm32-unknown-unknown %s -o - -run-pass wasm-argument-move  | FileCheck %s
2
3# wasm-argument-move pass moves all ARGUMENT instructions to the top of the
4# entry BB.
5---
6name: argument_i32
7# CHECK-LABEL: argument_i32
8body: |
9  ; CHECK-LABEL: bb.0:
10  ; CHECK-NEXT: %1:i32 = ARGUMENT_i32 0
11  bb.0:
12    %0:i32 = CONST_I32 0, implicit-def $arguments
13    %1:i32 = ARGUMENT_i32 0, implicit $arguments
14    RETURN implicit-def $arguments
15...
16---
17name: argument_i64
18# CHECK-LABEL: argument_i64
19body: |
20  ; CHECK-LABEL: bb.0:
21  ; CHECK-NEXT: %1:i64 = ARGUMENT_i64 0
22  bb.0:
23    %0:i32 = CONST_I32 0, implicit-def $arguments
24    %1:i64 = ARGUMENT_i64 0, implicit $arguments
25    RETURN implicit-def $arguments
26...
27---
28name: argument_f32
29# CHECK-LABEL: argument_f32
30body: |
31  ; CHECK-LABEL: bb.0:
32  ; CHECK-NEXT: %1:f32 = ARGUMENT_f32 0
33  bb.0:
34    %0:i32 = CONST_I32 0, implicit-def $arguments
35    %1:f32 = ARGUMENT_f32 0, implicit $arguments
36    RETURN implicit-def $arguments
37...
38---
39name: argument_f64
40# CHECK-LABEL: argument_f64
41body: |
42  ; CHECK-LABEL: bb.0:
43  ; CHECK-NEXT: %1:f64 = ARGUMENT_f64 0
44  bb.0:
45    %0:i32 = CONST_I32 0, implicit-def $arguments
46    %1:f64 = ARGUMENT_f64 0, implicit $arguments
47    RETURN implicit-def $arguments
48...
49---
50name: argument_funcref
51# CHECK-LABEL: argument_funcref
52body: |
53  ; CHECK-LABEL: bb.0:
54  ; CHECK-NEXT: %1:funcref = ARGUMENT_funcref 0
55  bb.0:
56    %0:i32 = CONST_I32 0, implicit-def $arguments
57    %1:funcref = ARGUMENT_funcref 0, implicit $arguments
58    RETURN implicit-def $arguments
59...
60---
61name: argument_externref
62# CHECK-LABEL: argument_externref
63body: |
64  ; CHECK-LABEL: bb.0:
65  ; CHECK-NEXT: %1:externref = ARGUMENT_externref 0
66  bb.0:
67    %0:i32 = CONST_I32 0, implicit-def $arguments
68    %1:externref = ARGUMENT_externref 0, implicit $arguments
69    RETURN implicit-def $arguments
70...
71---
72name: argument_exnref
73# CHECK-LABEL: argument_exnref
74body: |
75  ; CHECK-LABEL: bb.0:
76  ; CHECK-NEXT: %1:exnref = ARGUMENT_exnref 0
77  bb.0:
78    %0:i32 = CONST_I32 0, implicit-def $arguments
79    %1:exnref = ARGUMENT_exnref 0, implicit $arguments
80    RETURN implicit-def $arguments
81...
82