61 lines · plain
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 %s5 6---7name: test8tracksRegLiveness: true9stack:10 - { id: 0, size: 288, alignment: 16 }11body: |12 bb.0:13 BLR8 implicit $lr8, implicit $rm14 15---16name: overredzone17tracksRegLiveness: true18stack:19 - { id: 0, size: 296, alignment: 16 }20body: |21 bb.0:22 BLR8 implicit $lr8, implicit $rm23 24 25 ; CHECK: .vbyte 4, 0x00000000 # Traceback table begin26 ; CHECK-NEXT: .byte 0x00 # Version = 027 ; CHECK-NEXT: .byte 0x09 # Language = CPlusPlus28 ; CHECK-NEXT: .byte 0x20 # -IsGlobalLinkage, -IsOutOfLineEpilogOrPrologue29 ; CHECK-NEXT: # +HasTraceBackTableOffset, -IsInternalProcedure30 ; CHECK-NEXT: # -HasControlledStorage, -IsTOCless31 ; CHECK-NEXT: # -IsFloatingPointPresent32 ; CHECK-NEXT: # -IsFloatingPointOperationLogOrAbortEnabled33 ; CHECK-NEXT: .byte 0x40 # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed34 ; CHECK-NEXT: # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved35 ; CHECK-NEXT: .byte 0x00 # -IsBackChainStored, -IsFixup, NumOfFPRsSaved = 036 ; CHECK-NEXT: .byte 0x00 # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 037 ; CHECK-NEXT: .byte 0x00 # NumberOfFixedParms = 038 ; CHECK-NEXT: .byte 0x01 # NumberOfFPParms = 0, +HasParmsOnStack39 ; CHECK-NEXT: .vbyte 4, L..test0-.test # Function size40 ; CHECK-NEXT: .vbyte 2, 0x0004 # Function name len = 441 ; CHECK-NEXT: .byte "test" # Function Name42 43 ; CHECK: .vbyte 4, 0x00000000 # Traceback table begin44 ; CHECK-NEXT: .byte 0x00 # Version = 045 ; CHECK-NEXT: .byte 0x09 # Language = CPlusPlus46 ; CHECK-NEXT: .byte 0x20 # -IsGlobalLinkage, -IsOutOfLineEpilogOrPrologue47 ; CHECK-NEXT: # +HasTraceBackTableOffset, -IsInternalProcedure48 ; CHECK-NEXT: # -HasControlledStorage, -IsTOCless49 ; CHECK-NEXT: # -IsFloatingPointPresent50 ; CHECK-NEXT: # -IsFloatingPointOperationLogOrAbortEnabled51 ; CHECK-NEXT: .byte 0x40 # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed52 ; CHECK-NEXT: # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved53 ; CHECK-NEXT: .byte 0x80 # +IsBackChainStored, -IsFixup, NumOfFPRsSaved = 054 ; CHECK-NEXT: .byte 0x00 # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 055 ; CHECK-NEXT: .byte 0x00 # NumberOfFixedParms = 056 ; CHECK-NEXT: .byte 0x01 # NumberOfFPParms = 0, +HasParmsOnStack57 ; CHECK-NEXT: .vbyte 4, L..overredzone0-.overredzone # Function size58 ; CHECK-NEXT: .vbyte 2, 0x000b # Function name len = 1159 ; CHECK-NEXT: .byte "overredzone" # Function Name60...61