1## Test when the frame size is equal to or large than redzone boundary size(288). 2## The behaviour of IsBackChainStored bit of traceback table. 3# RUN: llc -mtriple powerpc64-ibm-aix-xcoff -o -\ 4# RUN: %s | FileCheck %s 5 6--- 7name: test 8tracksRegLiveness: true 9stack: 10 - { id: 0, size: 288, alignment: 16 } 11body: | 12 bb.0: 13 BLR8 implicit $lr8, implicit $rm 14 15--- 16name: overredzone 17tracksRegLiveness: true 18stack: 19 - { id: 0, size: 296, alignment: 16 } 20body: | 21 bb.0: 22 BLR8 implicit $lr8, implicit $rm 23 24 25 ; CHECK: .vbyte 4, 0x00000000 # Traceback table begin 26 ; CHECK-NEXT: .byte 0x00 # Version = 0 27 ; CHECK-NEXT: .byte 0x09 # Language = CPlusPlus 28 ; CHECK-NEXT: .byte 0x20 # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue 29 ; CHECK-NEXT: # +HasTraceBackTableOffset, -IsInternalProcedure 30 ; CHECK-NEXT: # -HasControlledStorage, -IsTOCless 31 ; CHECK-NEXT: # -IsFloatingPointPresent 32 ; CHECK-NEXT: # -IsFloatingPointOperationLogOrAbortEnabled 33 ; CHECK-NEXT: .byte 0x40 # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed 34 ; CHECK-NEXT: # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved 35 ; CHECK-NEXT: .byte 0x00 # -IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0 36 ; CHECK-NEXT: .byte 0x00 # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0 37 ; CHECK-NEXT: .byte 0x00 # NumberOfFixedParms = 0 38 ; CHECK-NEXT: .byte 0x01 # NumberOfFPParms = 0, +HasParmsOnStack 39 ; CHECK-NEXT: .vbyte 4, L..test0-.test # Function size 40 ; CHECK-NEXT: .vbyte 2, 0x0004 # Function name len = 4 41 ; CHECK-NEXT: .byte "test" # Function Name 42 43 ; CHECK: .vbyte 4, 0x00000000 # Traceback table begin 44 ; CHECK-NEXT: .byte 0x00 # Version = 0 45 ; CHECK-NEXT: .byte 0x09 # Language = CPlusPlus 46 ; CHECK-NEXT: .byte 0x20 # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue 47 ; CHECK-NEXT: # +HasTraceBackTableOffset, -IsInternalProcedure 48 ; CHECK-NEXT: # -HasControlledStorage, -IsTOCless 49 ; CHECK-NEXT: # -IsFloatingPointPresent 50 ; CHECK-NEXT: # -IsFloatingPointOperationLogOrAbortEnabled 51 ; CHECK-NEXT: .byte 0x40 # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed 52 ; CHECK-NEXT: # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved 53 ; CHECK-NEXT: .byte 0x80 # +IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0 54 ; CHECK-NEXT: .byte 0x00 # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0 55 ; CHECK-NEXT: .byte 0x00 # NumberOfFixedParms = 0 56 ; CHECK-NEXT: .byte 0x01 # NumberOfFPParms = 0, +HasParmsOnStack 57 ; CHECK-NEXT: .vbyte 4, L..overredzone0-.overredzone # Function size 58 ; CHECK-NEXT: .vbyte 2, 0x000b # Function name len = 11 59 ; CHECK-NEXT: .byte "overredzone" # Function Name 60... 61