1 # The test verifies that correct DWARF directives are emitted when 2 # assembly files are instrumented. 3 4 # RUN: llvm-mc %s -triple=i386-unknown-linux-gnu -asm-instrumentation=address -asan-instrument-assembly | FileCheck %s 5 6 # CHECK-LABEL: load4b_cfa_rbp 7 # CHECK: pushl %ebx 8 # CHECK-NOT: .cfi_adjust_cfa_offset 8 9 # CHECK: movl %ebp, %ebx 10 # CHECK: .cfi_remember_state 11 # CHECK: .cfi_def_cfa_register %ebx 12 # CHECK: popl %ebx 13 # CHECK: .cfi_restore_state 14 # CHECK-NOT: .cfi_adjust_cfa_offset -8 15 # CHECK: retl 16 17 .text 18 .globl load4b_cfa_rbp 19 .type load4b_cfa_rbp,@function 20 swap_cfa_rbp: # @swap_cfa_rbp 21 .cfi_startproc 22 pushl %ebp 23 .cfi_def_cfa_offset 8 24 .cfi_offset %ebp, -8 25 movl %esp, %ebp 26 .cfi_def_cfa_register %ebp 27 movl 8(%ebp), %eax 28 popl %ebp 29 retl 30 .cfi_endproc 31 32 # CHECK-LABEL: load4b_cfa_rsp 33 # CHECK: pushl %ebx 34 # CHECK: .cfi_adjust_cfa_offset 4 35 # CHECK: movl %esp, %ebx 36 # CHECK: .cfi_remember_state 37 # CHECK: .cfi_def_cfa_register %ebx 38 # CHECK: popl %ebx 39 # CHECK: .cfi_restore_state 40 # CHECK: retl 41 42 .globl load4b_cfa_rsp 43 .type load4b_cfa_rsp,@function 44 swap_cfa_rsp: # @swap_cfa_rsp 45 .cfi_startproc 46 pushl %ebp 47 .cfi_offset %ebp, 0 48 movl %esp, %ebp 49 movl 8(%ebp), %eax 50 popl %ebp 51 retl 52 .cfi_endproc 53