61 lines
3.8 KiB
Text
61 lines
3.8 KiB
Text
|
## 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
|
||
|
...
|