104 lines · plain
1# RUN: llc -run-pass none -o - %s | FileCheck %s2# This test ensures that the MIR parser parses machine frame info properties3# correctly.4 5--- |6 7 define i32 @test(i32 %a) {8 entry:9 %b = alloca i3210 store i32 %a, ptr %b11 %c = load i32, ptr %b12 ret i32 %c13 }14 15 define i32 @test2(i32 %a) {16 entry:17 %b = alloca i3218 store i32 %a, ptr %b19 %c = load i32, ptr %b20 ret i32 %c21 }22 23...24---25name: test26tracksRegLiveness: true27 28# CHECK: frameInfo:29# CHECK-NEXT: isFrameAddressTaken: false30# CHECK-NEXT: isReturnAddressTaken: false31# CHECK-NEXT: hasStackMap: false32# CHECK-NEXT: hasPatchPoint: false33# CHECK-NEXT: stackSize: 034# CHECK-NEXT: offsetAdjustment: 035# Note: max alignment can be target specific when printed.36# CHECK-NEXT: maxAlignment:37# CHECK-NEXT: adjustsStack: false38# CHECK-NEXT: hasCalls: false39# CHECK-NEXT: stackProtector: ''40# CHECK-NEXT: functionContext: ''41# CHECK-NEXT: maxCallFrameSize:42# CHECK-NEXT: cvBytesOfCalleeSavedRegisters: 043# CHECK-NEXT: hasOpaqueSPAdjustment: false44# CHECK-NEXT: hasVAStart: false45# CHECK-NEXT: hasMustTailInVarArgFunc: false46# CHECK-NEXT: hasTailCall: false47# CHECK-NEXT: isCalleeSavedInfoValid: false48# CHECK-NEXT: localFrameSize: 049# CHECK: body50frameInfo:51 maxAlignment: 452body: |53 bb.0.entry:54...55---56name: test257tracksRegLiveness: true58stack:59 - { id: 0, offset: -40, size: 8, alignment: 8 }60 61# CHECK: test262# CHECK: frameInfo:63# CHECK-NEXT: isFrameAddressTaken: true64# CHECK-NEXT: isReturnAddressTaken: true65# CHECK-NEXT: hasStackMap: true66# CHECK-NEXT: hasPatchPoint: true67# CHECK-NEXT: stackSize: 468# CHECK-NEXT: offsetAdjustment: 469# Note: max alignment can be target specific when printed.70# CHECK-NEXT: maxAlignment:71# CHECK-NEXT: adjustsStack: true72# CHECK-NEXT: hasCalls: true73# CHECK-NEXT: stackProtector: ''74# CHECK-NEXT: functionContext: '%stack.0'75# CHECK-NEXT: maxCallFrameSize: 476# CHECK-NEXT: cvBytesOfCalleeSavedRegisters: 877# CHECK-NEXT: hasOpaqueSPAdjustment: true78# CHECK-NEXT: hasVAStart: true79# CHECK-NEXT: hasMustTailInVarArgFunc: true80# CHECK-NEXT: hasTailCall: true81# CHECK: body82frameInfo:83 isFrameAddressTaken: true84 isReturnAddressTaken: true85 hasStackMap: true86 hasPatchPoint: true87 stackSize: 488 offsetAdjustment: 489 maxAlignment: 490 adjustsStack: true91 hasCalls: true92 functionContext: '%stack.0'93 maxCallFrameSize: 494 cvBytesOfCalleeSavedRegisters: 895 hasOpaqueSPAdjustment: true96 hasVAStart: true97 hasTailCall: true98 hasMustTailInVarArgFunc: true99 localFrameSize: 256100body: |101 bb.0.entry:102...103 104