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
8 tracksRegLiveness: true
10 - { id: 0, size: 288, alignment: 16 }
13 BLR8 implicit $lr8, implicit $rm
17 tracksRegLiveness: true
19 - { id: 0, size: 296, alignment: 16 }
22 BLR8 implicit $lr8, implicit $rm
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
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