[AArch64] Fix bug in prolog clobbering live reg when shrink wrapping.
[oota-llvm.git] / test / CodeGen / SPARC / empty-functions.ll
1 ; RUN: llc < %s -mtriple=sparc-linux-gnu | FileCheck -check-prefix=LINUX-NO-FP %s
2 ; RUN: llc < %s -mtriple=sparc-linux-gnu -disable-fp-elim | FileCheck -check-prefix=LINUX-FP %s
3
4 define void @func() {
5 entry:
6   unreachable
7 }
8
9 ; An empty function is perfectly fine on ELF.
10 ; LINUX-NO-FP: func:
11 ; LINUX-NO-FP-NEXT: .cfi_startproc
12 ; LINUX-NO-FP-NEXT: {{^}}!
13 ; LINUX-NO-FP-NEXT: {{^}}.L{{.*}}:{{$}}
14 ; LINUX-NO-FP-NEXT: .size   func, .L{{.*}}-func
15 ; LINUX-NO-FP-NEXT: .cfi_endproc
16
17 ; A cfi directive can point to the end of a function. It (and in fact the
18 ; entire body) could be optimized out because of the unreachable, but we
19 ; don't do it right now.
20 ; LINUX-FP: func:
21 ; LINUX-FP-NEXT: .cfi_startproc
22 ; LINUX-FP-NEXT: {{^}}!
23 ; LINUX-FP-NEXT: save %sp, -96, %sp
24 ; LINUX-FP-NEXT: {{^}}.L{{.*}}:{{$}}
25 ; LINUX-FP-NEXT: .cfi_def_cfa_register %fp
26 ; LINUX-FP-NEXT: {{^}}.L{{.*}}:{{$}}
27 ; LINUX-FP-NEXT: .cfi_window_save
28 ; LINUX-FP-NEXT: {{^}}.L{{.*}}:{{$}}
29 ; LINUX-FP-NEXT: .cfi_register 15, 31
30 ; LINUX-FP-NEXT: {{^}}.L{{.*}}:{{$}}
31 ; LINUX-FP-NEXT: .size   func, .Lfunc_end0-func
32 ; LINUX-FP-NEXT: .cfi_endproc