blob: b4efb40b642273083d4f61115edd5063c5d0387d [file] [log] [blame]
Petar Jovanovic35f05742014-11-05 22:42:31 +00001; RUN: llc -mtriple=mipsel-linux-gnu < %s | FileCheck -check-prefix=CHECK32 %s
2; RUN: llc -mtriple=mipsel-linux-android < %s | FileCheck -check-prefix=CHECK32 %s
3; RUN: llc -mtriple=mips64el-linux-gnu < %s | FileCheck -check-prefix=CHECK64 %s
4; RUN: llc -mtriple=mips64el-linux-android < %s | FileCheck -check-prefix=CHECK64 %s
Logan Chienc0029812014-05-30 16:48:56 +00005
6define i32 @main() {
7; CHECK: .cfi_startproc
8; CHECK: .cfi_personality 128, DW.ref.__gxx_personality_v0
9
10entry:
11 invoke void @foo() to label %cont unwind label %lpad
12; CHECK: foo
13; CHECK: jalr
14
15lpad:
16 %0 = landingpad { i8*, i32 } personality i8*
17 bitcast (i32 (...)* @__gxx_personality_v0 to i8*) catch i8* null
18 ret i32 0
19
20cont:
21 ret i32 0
22}
23; CHECK: .cfi_endproc
24
25declare i32 @__gxx_personality_v0(...)
26
27declare void @foo()
28
29; CHECK: .hidden DW.ref.__gxx_personality_v0
30; CHECK: .weak DW.ref.__gxx_personality_v0
31; CHECK: .section .data.DW.ref.__gxx_personality_v0,"aGw",@progbits,DW.ref.__gxx_personality_v0,comdat
Petar Jovanovic35f05742014-11-05 22:42:31 +000032; CHECK32: .align 2
33; CHECK64: .align 3
Logan Chienc0029812014-05-30 16:48:56 +000034; CHECK: .type DW.ref.__gxx_personality_v0,@object
Petar Jovanovic35f05742014-11-05 22:42:31 +000035; CHECK32: .size DW.ref.__gxx_personality_v0, 4
36; CHECK64: .size DW.ref.__gxx_personality_v0, 8
Logan Chienc0029812014-05-30 16:48:56 +000037; CHECK: DW.ref.__gxx_personality_v0:
Petar Jovanovic35f05742014-11-05 22:42:31 +000038; CHECK32: .4byte __gxx_personality_v0
39; CHECK64: .8byte __gxx_personality_v0