blob: e14c58876ed2369cf64d3b53e5fa396865cb1f56 [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:
Dan Gohmancf4748f2015-11-12 17:04:33 +000015; CHECK: call abort
Derek Schuffffa143c2015-11-10 00:30:57 +000016; 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}