brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 56cbcc5 Raw
63 lines · plain
1// This test checks that we emit allow multiple consecutive epilogs without2// triggering failed asserts.unwind info correctly for epilogs that:3// RUN: llvm-mc -triple aarch64-pc-win32 -filetype=obj %s -o %t.o4// RUN: llvm-readobj -u %t.o | FileCheck %s5 6// CHECK-LABEL:UnwindInformation [7// CHECK-NEXT:  RuntimeFunction {8// CHECK-NEXT:    Function: multi_epilog (0x0)9// CHECK-NEXT:    ExceptionRecord: .xdata (0x0)10// CHECK-NEXT:    ExceptionData {11// CHECK-NEXT:      FunctionLength: 2012// CHECK-NEXT:      Version: 013// CHECK-NEXT:      ExceptionData: No14// CHECK-NEXT:      EpiloguePacked: No15// CHECK-NEXT:      EpilogueScopes: 216// CHECK-NEXT:      ByteCodeLength: 417// CHECK-NEXT:      Prologue [18// CHECK-NEXT:        0x81                ; stp x29, x30, [sp, #-16]!19// CHECK-NEXT:        0xe4                ; end20// CHECK-NEXT:      ]21// CHECK-NEXT:      EpilogueScopes [22// CHECK-NEXT:        EpilogueScope {23// CHECK-NEXT:          StartOffset: 224// CHECK-NEXT:          EpilogueStartIndex: 025// CHECK-NEXT:          Opcodes [26// CHECK-NEXT:            0x81                ; ldp x29, x30, [sp], #1627// CHECK-NEXT:            0xe4                ; end28// CHECK-NEXT:          ]29// CHECK-NEXT:        }30// CHECK-NEXT:        EpilogueScope {31// CHECK-NEXT:          StartOffset: 332// CHECK-NEXT:          EpilogueStartIndex: 033// CHECK-NEXT:          Opcodes [34// CHECK-NEXT:            0x81                ; ldp x29, x30, [sp], #1635// CHECK-NEXT:            0xe4                ; end36// CHECK-NEXT:          ]37// CHECK-NEXT:        }38// CHECK-NEXT:      ]39// CHECK-NEXT:    }40// CHECK-NEXT:  }41// CHECK-NEXT:]42 43	.text44	.global	multi_epilog45	.p2align	246	.seh_proc multi_epilog47multi_epilog:48	stp	x29, lr, [sp, #-16]!49	.seh_save_fplr_x 1650	.seh_endprologue51        nop52	.seh_startepilogue53	ldp	x29, lr, [sp], #1654	.seh_save_fplr_x 1655	.seh_endepilogue56	.seh_startepilogue57	ldp	x29, lr, [sp], #1658	.seh_save_fplr_x 1659	.seh_endepilogue60	ret61	.seh_endfunclet62	.seh_endproc63