91 lines · plain
1# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin10.0 %s -emit-compact-unwind-non-canonical=true | llvm-objdump --unwind-info - | FileCheck %s2 3 .section __TEXT,__text,regular,pure_instructions4 .macosx_version_min 10, 105 6# Check that we emit compact-unwind info with UNWIND_X86_MODE_STACK_IND encoding7 8# CHECK: Contents of __compact_unwind section:9# CHECK-NEXT: Entry at offset 0x0:10# CHECK-NEXT: start: 0x0 _test011# CHECK-NEXT: length: 0x1512# CHECK-NEXT: compact encoding: 0x0305680413 .globl _test014_test0: ## @test015 .cfi_startproc16## %bb.0: ## %entry17 pushq %rbp18Ltmp0:19 .cfi_def_cfa_offset 1620 pushq %rbx21Ltmp1:22 .cfi_def_cfa_offset 2423 subq $14408, %rsp ## imm = 0x384824Ltmp2:25 .cfi_def_cfa_offset 1443226Ltmp3:27 .cfi_offset %rbx, -2428Ltmp4:29 .cfi_offset %rbp, -1630 xorl %eax, %eax31 addq $14408, %rsp ## imm = 0x384832 popq %rbx33 popq %rbp34 retq35 .cfi_endproc36 37# Check that we emit compact-unwind info with UNWIND_X86_MODE_STACK_IMMD encoding38 39# CHECK: Entry at offset 0x20:40# CHECK-NEXT: start: 0x15 _test141# CHECK-NEXT: length: 0x1542# CHECK-NEXT: compact encoding: 0x0236080443 .globl _test144_test1: ## @test145 .cfi_startproc46## %bb.0: ## %entry47 pushq %rbp48Ltmp10:49 .cfi_def_cfa_offset 1650 pushq %rbx51Ltmp11:52 .cfi_def_cfa_offset 2453 subq $408, %rsp ## imm = 0x19854Ltmp12:55 .cfi_def_cfa_offset 43256Ltmp13:57 .cfi_offset %rbx, -2458Ltmp14:59 .cfi_offset %rbp, -1660 xorl %eax, %eax61 addq $408, %rsp ## imm = 0x19862 popq %rbx63 popq %rbp64 retq65 .cfi_endproc66 67# Check that a adjustment through a push %rax is the same as a sub.68 69# CHECK: Entry at offset 0x40:70# CHECK-NEXT: start: 0x2a _testrax71# CHECK-NEXT: length: 0x572# CHECK-NEXT: compact encoding: 0x0202000073 .globl _testrax74_testrax: ## @testrax75 .cfi_startproc76## %bb.0: ## %entry77 pushq %rax78Ltmp15:79 .cfi_def_cfa_offset 1680 xorl %eax, %eax81 popq %rax82 retq83 .cfi_endproc84 85 .section __TEXT,__cstring,cstring_literals86L_.str: ## @.str87 .asciz "%d\n"88 89 90.subsections_via_symbols91