mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 15:17:25 +00:00
This commit adds the liveins and successors properties to machine basic blocks in some of the MIR tests to ensure that the tests will pass when the MIR parser will run the machine verifier after initializing a machine function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243124 91177308-0d34-0410-b5e6-96231b3b80d8
49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
# RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
|
|
# This test ensures that the MIR parser parses the .cfi_offset operands
|
|
# correctly.
|
|
|
|
--- |
|
|
|
|
declare void @foo(i32)
|
|
|
|
define i32 @test(i32 %a, i32 %b, i32 %c, i32 %d) {
|
|
entry:
|
|
%add = add nsw i32 %b, %a
|
|
%add1 = add nsw i32 %add, %c
|
|
%add2 = add nsw i32 %add1, %d
|
|
tail call void @foo(i32 %add2)
|
|
%add6 = add nsw i32 %add2, %add2
|
|
ret i32 %add6
|
|
}
|
|
|
|
...
|
|
---
|
|
name: test
|
|
tracksRegLiveness: true
|
|
frameInfo:
|
|
stackSize: 8
|
|
adjustsStack: true
|
|
hasCalls: true
|
|
fixedStack:
|
|
- { id: 0, type: spill-slot, offset: -16, size: 8, alignment: 16 }
|
|
body:
|
|
- id: 0
|
|
name: entry
|
|
liveins: [ '%ecx', '%edi', '%edx', '%esi', '%rbx' ]
|
|
instructions:
|
|
- 'PUSH64r killed %rbx, implicit-def %rsp, implicit %rsp'
|
|
- 'CFI_INSTRUCTION .cfi_def_cfa_offset 16'
|
|
# CHECK: CFI_INSTRUCTION .cfi_offset %rbx, -16
|
|
- 'CFI_INSTRUCTION .cfi_offset %rbx, -16'
|
|
- '%ebx = COPY %edi, implicit-def %rbx'
|
|
- '%ebx = ADD32rr %ebx, killed %esi, implicit-def dead %eflags'
|
|
- '%ebx = ADD32rr %ebx, killed %edx, implicit-def dead %eflags'
|
|
- '%ebx = ADD32rr %ebx, killed %ecx, implicit-def dead %eflags'
|
|
- '%edi = COPY %ebx'
|
|
- 'CALL64pcrel32 @foo, csr_64, implicit %rsp, implicit %edi, implicit-def %rsp'
|
|
- '%eax = LEA64_32r killed %rbx, 1, %rbx, 0, _'
|
|
- '%rbx = POP64r implicit-def %rsp, implicit %rsp'
|
|
- 'RETQ %eax'
|
|
...
|
|
|