Move the complex address expression out of DIVariable and into an extra
[oota-llvm.git] / test / CodeGen / ARM / jump_tables.ll
1 ; RUN: llc <%s -mtriple=arm-unknown-linux-gnueabi -jump-table-type=single | FileCheck --check-prefix=ARM %s
2 ; RUN: llc <%s -mtriple=thumb-unknown-linux-gnueabi -jump-table-type=single | FileCheck --check-prefix=THUMB %s
3
4 define void @indirect_fun() unnamed_addr jumptable {
5   ret void
6 }
7 define void ()* @get_fun() {
8   ret void ()* @indirect_fun
9
10 ; ARM:         ldr     r0, [[LABEL:.*]]
11 ; ARM:         mov     pc, lr
12 ; ARM: [[LABEL]]:
13 ; ARM:         .long   __llvm_jump_instr_table_0_1
14
15 ; THUMB:         ldr     r0, [[LABEL:.*]]
16 ; THUMB:         bx      lr
17 ; THUMB: [[LABEL]]:
18 ; THUMB:         .long   __llvm_jump_instr_table_0_1
19 }
20
21 ; ARM:         .globl  __llvm_jump_instr_table_0_1
22 ; ARM:         .align  3
23 ; ARM:         .type   __llvm_jump_instr_table_0_1,%function
24 ; ARM: __llvm_jump_instr_table_0_1:
25 ; ARM:         b     indirect_fun(PLT)
26
27 ; THUMB:         .globl  __llvm_jump_instr_table_0_1
28 ; THUMB:         .align  3
29 ; THUMB:         .thumb_func
30 ; THUMB:         .type   __llvm_jump_instr_table_0_1,%function
31 ; THUMB: __llvm_jump_instr_table_0_1:
32 ; THUMB:         b     indirect_fun(PLT)