| # RUN: llc -run-pass none -o - %s | FileCheck %s |
| # This test ensures that the MIR parser parses machine frame info properties |
| # correctly. |
| |
| --- | |
| |
| define i32 @test(i32 %a) { |
| entry: |
| %b = alloca i32 |
| store i32 %a, i32* %b |
| %c = load i32, i32* %b |
| ret i32 %c |
| } |
| |
| define i32 @test2(i32 %a) { |
| entry: |
| %b = alloca i32 |
| store i32 %a, i32* %b |
| %c = load i32, i32* %b |
| ret i32 %c |
| } |
| |
| ... |
| --- |
| name: test |
| tracksRegLiveness: true |
| |
| # CHECK: frameInfo: |
| # CHECK-NEXT: isFrameAddressTaken: false |
| # CHECK-NEXT: isReturnAddressTaken: false |
| # CHECK-NEXT: hasStackMap: false |
| # CHECK-NEXT: hasPatchPoint: false |
| # CHECK-NEXT: stackSize: 0 |
| # CHECK-NEXT: offsetAdjustment: 0 |
| # Note: max alignment can be target specific when printed. |
| # CHECK-NEXT: maxAlignment: |
| # CHECK-NEXT: adjustsStack: false |
| # CHECK-NEXT: hasCalls: false |
| # CHECK-NEXT: stackProtector: '' |
| # CHECK-NEXT: maxCallFrameSize: |
| # CHECK-NEXT: hasOpaqueSPAdjustment: false |
| # CHECK-NEXT: hasVAStart: false |
| # CHECK-NEXT: hasMustTailInVarArgFunc: false |
| # CHECK-NEXT: localFrameSize: 0 |
| # CHECK-NEXT: savePoint: '' |
| # CHECK-NEXT: restorePoint: '' |
| # CHECK: body |
| frameInfo: |
| maxAlignment: 4 |
| body: | |
| bb.0.entry: |
| ... |
| --- |
| name: test2 |
| tracksRegLiveness: true |
| |
| # CHECK: test2 |
| # CHECK: frameInfo: |
| # CHECK-NEXT: isFrameAddressTaken: true |
| # CHECK-NEXT: isReturnAddressTaken: true |
| # CHECK-NEXT: hasStackMap: true |
| # CHECK-NEXT: hasPatchPoint: true |
| # CHECK-NEXT: stackSize: 4 |
| # CHECK-NEXT: offsetAdjustment: 4 |
| # Note: max alignment can be target specific when printed. |
| # CHECK-NEXT: maxAlignment: |
| # CHECK-NEXT: adjustsStack: true |
| # CHECK-NEXT: hasCalls: true |
| # CHECK-NEXT: stackProtector: '' |
| # CHECK-NEXT: maxCallFrameSize: 4 |
| # CHECK-NEXT: hasOpaqueSPAdjustment: true |
| # CHECK-NEXT: hasVAStart: true |
| # CHECK-NEXT: hasMustTailInVarArgFunc: true |
| # CHECK: body |
| frameInfo: |
| isFrameAddressTaken: true |
| isReturnAddressTaken: true |
| hasStackMap: true |
| hasPatchPoint: true |
| stackSize: 4 |
| offsetAdjustment: 4 |
| maxAlignment: 4 |
| adjustsStack: true |
| hasCalls: true |
| maxCallFrameSize: 4 |
| hasOpaqueSPAdjustment: true |
| hasVAStart: true |
| hasMustTailInVarArgFunc: true |
| localFrameSize: 256 |
| body: | |
| bb.0.entry: |
| ... |
| |