1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00
Heejin Ahn 16f0f911f2 [WebAssembly] Add missing utility methods for exnref type
Summary:
This adds missing utility methods and copy instruction handling for
`exnref` type and also adds tests.

`tee` instruction tests are missing because `isTee` is currently only
used in ExplicitLocals pass and testing that pass in mir requires
serialization of stackified registers in mir files, which is a bit
nontrivial because `MachineFunctionInfo` only has info of vreg numbers
(which are large integers) but not the mir's register numbers. But this
change is quite trivial anyway.

Reviewers: tlively

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

Tags: #llvm

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

llvm-svn: 366149
2019-07-15 23:04:00 +00:00

69 lines
1.4 KiB
YAML

# RUN: llc -mtriple=wasm32-unknown-unknown %s -o - -run-pass=postrapseudos | FileCheck %s
---
name: copy_i32
# CHECK-LABEL: copy_i32
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:i32 = COPY_I32 %1:i32
; CHECK-NEXT: RETURN_VOID
bb.0:
%0:i32 = COPY %1:i32
RETURN_VOID implicit-def $arguments
...
---
name: copy_i64
# CHECK-LABEL: copy_i64
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:i64 = COPY_I64 %1:i64
; CHECK-NEXT: RETURN_VOID
bb.0:
%0:i64 = COPY %1:i64
RETURN_VOID implicit-def $arguments
...
---
name: copy_f32
# CHECK-LABEL: copy_f32
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:f32 = COPY_F32 %1:f32
; CHECK-NEXT: RETURN_VOID
bb.0:
%0:f32 = COPY %1:f32
RETURN_VOID implicit-def $arguments
...
---
name: copy_f64
# CHECK-LABEL: copy_f64
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:f64 = COPY_F64 %1:f64
; CHECK-NEXT: RETURN_VOID
bb.0:
%0:f64 = COPY %1:f64
RETURN_VOID implicit-def $arguments
...
---
name: copy_v128
# CHECK-LABEL: copy_v128
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:v128 = COPY_V128 %1:v128
; CHECK-NEXT: RETURN_VOID
bb.0:
%0:v128 = COPY %1:v128
RETURN_VOID implicit-def $arguments
...
---
name: copy_exnref
# CHECK-LABEL: copy_exnref
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:exnref = COPY_EXNREF %1:exnref
; CHECK-NEXT: RETURN_VOID
bb.0:
%0:exnref = COPY %1:exnref
RETURN_VOID implicit-def $arguments
...