## Test when the frame size is equal to or large than redzone boundary size(288). ## The behaviour of IsBackChainStored bit of traceback table. # RUN: llc -mtriple powerpc64-ibm-aix-xcoff -o -\ # RUN: %s | FileCheck %s --- name: test tracksRegLiveness: true stack: - { id: 0, size: 288, alignment: 16 } body: | bb.0: BLR8 implicit $lr8, implicit $rm --- name: overredzone tracksRegLiveness: true stack: - { id: 0, size: 296, alignment: 16 } body: | bb.0: BLR8 implicit $lr8, implicit $rm ; CHECK: .vbyte 4, 0x00000000 # Traceback table begin ; CHECK-NEXT: .byte 0x00 # Version = 0 ; CHECK-NEXT: .byte 0x09 # Language = CPlusPlus ; CHECK-NEXT: .byte 0x20 # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue ; CHECK-NEXT: # +HasTraceBackTableOffset, -IsInternalProcedure ; CHECK-NEXT: # -HasControlledStorage, -IsTOCless ; CHECK-NEXT: # -IsFloatingPointPresent ; CHECK-NEXT: # -IsFloatingPointOperationLogOrAbortEnabled ; CHECK-NEXT: .byte 0x40 # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed ; CHECK-NEXT: # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved ; CHECK-NEXT: .byte 0x00 # -IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0 ; CHECK-NEXT: .byte 0x00 # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0 ; CHECK-NEXT: .byte 0x00 # NumberOfFixedParms = 0 ; CHECK-NEXT: .byte 0x01 # NumberOfFPParms = 0, +HasParmsOnStack ; CHECK-NEXT: .vbyte 4, L..test0-.test # Function size ; CHECK-NEXT: .vbyte 2, 0x0004 # Function name len = 4 ; CHECK-NEXT: .byte "test" # Function Name ; CHECK: .vbyte 4, 0x00000000 # Traceback table begin ; CHECK-NEXT: .byte 0x00 # Version = 0 ; CHECK-NEXT: .byte 0x09 # Language = CPlusPlus ; CHECK-NEXT: .byte 0x20 # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue ; CHECK-NEXT: # +HasTraceBackTableOffset, -IsInternalProcedure ; CHECK-NEXT: # -HasControlledStorage, -IsTOCless ; CHECK-NEXT: # -IsFloatingPointPresent ; CHECK-NEXT: # -IsFloatingPointOperationLogOrAbortEnabled ; CHECK-NEXT: .byte 0x40 # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed ; CHECK-NEXT: # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved ; CHECK-NEXT: .byte 0x80 # +IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0 ; CHECK-NEXT: .byte 0x00 # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0 ; CHECK-NEXT: .byte 0x00 # NumberOfFixedParms = 0 ; CHECK-NEXT: .byte 0x01 # NumberOfFPParms = 0, +HasParmsOnStack ; CHECK-NEXT: .vbyte 4, L..overredzone0-.overredzone # Function size ; CHECK-NEXT: .vbyte 2, 0x000b # Function name len = 11 ; CHECK-NEXT: .byte "overredzone" # Function Name ...