blob: a16e4529033eba37dd593e9943a3c5436eed2a94 [file] [log] [blame]
Derek Schuffffa143c2015-11-10 00:30:57 +00001; RUN: llc < %s -asm-verbose=false | FileCheck %s
2; RUN: llc < %s -asm-verbose=false -fast-isel | FileCheck %s
3
4; Test that LLVM unreachable instruction and trap intrinsic are lowered to
5; wasm unreachable
6
7target datalayout = "e-p:32:32-i64:64-n32:64-S128"
8target triple = "wasm32-unknown-unknown"
9
10declare void @llvm.trap()
11declare void @llvm.debugtrap()
12declare void @abort()
13
14; CHECK-LABEL: f1:
15; CHECK: call $abort
16; CHECK: unreachable
17define i32 @f1() {
18 call void @abort()
19 unreachable
20}
21
22; CHECK-LABEL: f2:
23; CHECK: unreachable
24define void @f2() {
25 call void @llvm.trap()
26 ret void
27}
28
29; CHECK-LABEL: f3:
30; CHECK: unreachable
31define void @f3() {
32 call void @llvm.debugtrap()
33 ret void
34}