Home | History | Annotate | Download | only in SPARC
      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
     33