37 lines · plain
1# RUN: llvm-mc --filetype=obj --gsframe -triple x86_64 %s -o %t.o 2>&1 | FileCheck %s2# RUN: llvm-readelf --sframe %t.o | FileCheck %s --check-prefix=NOFDES3 4## Tests that .cfi_escape sequences that are unrepresentable in sframe warn5## and do not produce FDEs.6 7 .align 10248cfi_escape_sp:9 .cfi_startproc10 .long 011## Setting SP via other registers makes it unrepresentable in sframe12## DW_CFA_expression,reg 0x7,length 2,DW_OP_breg6,SLEB(-8)13# CHECK: {{.*}}.s:[[#@LINE+1]]:9: warning: skipping SFrame FDE; .cfi_escape DW_CFA_expression with SP reg 714 .cfi_escape 0x10, 0x7, 0x2, 0x76, 0x7815 .long 016.cfi_endproc17 18cfi_escape_args_sp:19 .cfi_startproc20 .long 021## DW_CFA_GNU_args_size is not OK if cfa is SP22# CHECK: {{.*}}.s:[[#@LINE+1]]:9: warning: skipping SFrame FDE; .cfi_escape DW_CFA_GNU_args_size with non frame-pointer CFA23 .cfi_escape 0x2e, 0x2024 .cfi_endproc25 26cfi_escape_val_offset:27 .cfi_startproc28 .long 029 .cfi_def_cfa_offset 1630## DW_CFA_val_offset,rbp,ULEB scaled offset(16)31# CHECK: {{.*}}.s:[[#@LINE+1]]:9: warning: skipping SFrame FDE; .cfi_escape DW_CFA_val_offset with FP reg 632 .cfi_escape 0x14,0x6,0x233 .long 034 .cfi_endproc35 36# NOFDES: Num FDEs: 037