Revert r354244 "[DAGCombiner] Eliminate dead stores to stack."
[llvm-complete.git] / test / Instrumentation / AddressSanitizer / X86 / asm_cfi.s
blob417d7f3fd3e836adbf8f9f9be001517fd4d74eb0
1 # The test verifies that correct DWARF directives are emitted when
2 # assembly files are instrumented.
4 # RUN: llvm-mc %s -triple=i386-unknown-linux-gnu -asm-instrumentation=address -asan-instrument-assembly | FileCheck %s
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
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
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
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