xref: /llvm-project/llvm/test/CodeGen/Mips/ex2.ll (revision d8a5fae6913a0f6c7e3c814315c1a11fcfd609a1)
1; RUN: llc  -mtriple=mipsel-elf -mattr=mips16 -relocation-model=pic -O3 < %s | FileCheck %s -check-prefix=16
2
3@.str = private unnamed_addr constant [6 x i8] c"hello\00", align 1
4@_ZTIPKc = external constant ptr
5
6define i32 @main() {
7; 16-LABEL: main:
8; 16: 	.cfi_startproc
9; 16: 	save	$16, $17, $ra, 32 # 16 bit inst
10; 16:   .cfi_def_cfa_offset 32
11; 16: 	.cfi_offset 31, -4
12; 16: 	.cfi_offset 17, -8
13; 16:   .cfi_offset 16, -12
14; 16:   .cfi_endproc
15entry:
16  %retval = alloca i32, align 4
17  store i32 0, ptr %retval
18  %exception = call ptr @__cxa_allocate_exception(i32 4) nounwind
19  store ptr @.str, ptr %exception
20  call void @__cxa_throw(ptr %exception, ptr @_ZTIPKc, ptr null) noreturn
21  unreachable
22
23return:                                           ; No predecessors!
24  %0 = load i32, ptr %retval
25  ret i32 %0
26}
27
28declare ptr @__cxa_allocate_exception(i32)
29
30declare void @__cxa_throw(ptr, ptr, ptr)
31