brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · faded65 Raw
46 lines · plain
1; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck -check-prefix=CHECK-NO-FP %s2; RUN: llc < %s -mtriple=x86_64-apple-darwin -frame-pointer=all | FileCheck -check-prefix=CHECK-FP %s3; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck -check-prefix=LINUX-NO-FP %s4; RUN: llc < %s -mtriple=x86_64-linux-gnu -frame-pointer=all | FileCheck -check-prefix=LINUX-FP %s5 6define void @func() {7entry:8  unreachable9}10 11; MachO cannot handle an empty function.12; CHECK-NO-FP:     _func:13; CHECK-NO-FP-NEXT: .cfi_startproc14; CHECK-NO-FP:     ud215; CHECK-NO-FP-NEXT: .cfi_endproc16 17; CHECK-FP:      _func:18; CHECK-FP-NEXT: .cfi_startproc19; CHECK-FP-NEXT: :20; CHECK-FP-NEXT: pushq %rbp21; CHECK-FP-NEXT: .cfi_def_cfa_offset 1622; CHECK-FP-NEXT: .cfi_offset %rbp, -1623; CHECK-FP-NEXT: movq %rsp, %rbp24; CHECK-FP: ud225; CHECK-FP: .cfi_endproc26 27; An empty function is perfectly fine on ELF.28; LINUX-NO-FP: func:29; LINUX-NO-FP-NEXT: .cfi_startproc30; LINUX-NO-FP-NEXT: {{^}}#31; LINUX-NO-FP-NEXT: {{^}}.L{{.*}}:{{$}}32; LINUX-NO-FP-NEXT: .size   func, .L{{.*}}-func33; LINUX-NO-FP-NEXT: .cfi_endproc34 35; A cfi directive cannot point to the end of a function.36; LINUX-FP: func:37; LINUX-FP-NEXT: .cfi_startproc38; LINUX-FP-NEXT: {{^}}#39; LINUX-FP-NEXT: pushq %rbp40; LINUX-FP-NEXT:  .cfi_def_cfa_offset 1641; LINUX-FP-NEXT: .cfi_offset %rbp, -1642; LINUX-FP-NEXT: movq        %rsp, %rbp43; LINUX-FP-NEXT:{{^}}.L{{.*}}:{{$}}44; LINUX-FP-NEXT: .size   func, .Lfunc_end0-func45; LINUX-FP-NEXT: .cfi_endproc46