308 lines
16 KiB
Text
308 lines
16 KiB
Text
|
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 2
|
||
|
# RUN: llc -mtriple=riscv32 -x mir -run-pass=prologepilog -verify-machineinstrs < %s \
|
||
|
# RUN: | FileCheck -check-prefixes=CHECK-RV32-NO-COM %s
|
||
|
# RUN: llc -mtriple=riscv32 -mattr=+c -x mir -run-pass=prologepilog \
|
||
|
# RUN: -verify-machineinstrs < %s | FileCheck -check-prefixes=CHECK-RV32-COM %s
|
||
|
# RUN: llc -mtriple=riscv64 -x mir -run-pass=prologepilog -verify-machineinstrs < %s \
|
||
|
# RUN: | FileCheck -check-prefixes=CHECK-RV64-NO-COM %s
|
||
|
# RUN: llc -mtriple=riscv64 -mattr=+c -x mir -run-pass=prologepilog \
|
||
|
# RUN: -verify-machineinstrs < %s | FileCheck -check-prefixes=CHECK-RV64-COM %s
|
||
|
--- |
|
||
|
define dso_local void @_Z15stack_size_2048v() {
|
||
|
entry:
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
declare dso_local void @_Z6calleePi(ptr noundef)
|
||
|
|
||
|
define dso_local void @_Z15stack_size_4096v() {
|
||
|
entry:
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
define dso_local void @_Z15stack_size_8192v() {
|
||
|
entry:
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
...
|
||
|
---
|
||
|
name: _Z15stack_size_2048v
|
||
|
alignment: 2
|
||
|
tracksRegLiveness: true
|
||
|
frameInfo:
|
||
|
maxAlignment: 4
|
||
|
hasCalls: true
|
||
|
localFrameSize: 2048
|
||
|
stack:
|
||
|
- { id: 0, size: 2048, alignment: 4, local-offset: -2048 }
|
||
|
machineFunctionInfo:
|
||
|
varArgsFrameIndex: 0
|
||
|
varArgsSaveSize: 0
|
||
|
body: |
|
||
|
bb.0.entry:
|
||
|
; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_2048v
|
||
|
; CHECK-RV32-NO-COM: liveins: $x1
|
||
|
; CHECK-RV32-NO-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1)
|
||
|
; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -32
|
||
|
; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
|
||
|
; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12
|
||
|
; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 32
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x1 = LW $x2, 2028 :: (load (s32) from %stack.1)
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: PseudoRET
|
||
|
;
|
||
|
; CHECK-RV32-COM-LABEL: name: _Z15stack_size_2048v
|
||
|
; CHECK-RV32-COM: liveins: $x1
|
||
|
; CHECK-RV32-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256
|
||
|
; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256
|
||
|
; CHECK-RV32-COM-NEXT: SW killed $x1, $x2, 252 :: (store (s32) into %stack.1)
|
||
|
; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -1808
|
||
|
; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
|
||
|
; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12
|
||
|
; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 1808
|
||
|
; CHECK-RV32-COM-NEXT: $x1 = LW $x2, 252 :: (load (s32) from %stack.1)
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256
|
||
|
; CHECK-RV32-COM-NEXT: PseudoRET
|
||
|
;
|
||
|
; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_2048v
|
||
|
; CHECK-RV64-NO-COM: liveins: $x1
|
||
|
; CHECK-RV64-NO-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1)
|
||
|
; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -32
|
||
|
; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
|
||
|
; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8
|
||
|
; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 32
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x1 = LD $x2, 2024 :: (load (s64) from %stack.1)
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: PseudoRET
|
||
|
;
|
||
|
; CHECK-RV64-COM-LABEL: name: _Z15stack_size_2048v
|
||
|
; CHECK-RV64-COM: liveins: $x1
|
||
|
; CHECK-RV64-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496
|
||
|
; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496
|
||
|
; CHECK-RV64-COM-NEXT: SD killed $x1, $x2, 488 :: (store (s64) into %stack.1)
|
||
|
; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -1568
|
||
|
; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
|
||
|
; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8
|
||
|
; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 1568
|
||
|
; CHECK-RV64-COM-NEXT: $x1 = LD $x2, 488 :: (load (s64) from %stack.1)
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496
|
||
|
; CHECK-RV64-COM-NEXT: PseudoRET
|
||
|
ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
|
||
|
renamable $x10 = ADDI %stack.0, 0
|
||
|
PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2
|
||
|
PseudoRET
|
||
|
|
||
|
...
|
||
|
---
|
||
|
name: _Z15stack_size_4096v
|
||
|
alignment: 2
|
||
|
tracksRegLiveness: true
|
||
|
frameInfo:
|
||
|
maxAlignment: 4
|
||
|
hasCalls: true
|
||
|
localFrameSize: 4096
|
||
|
stack:
|
||
|
- { id: 0, size: 4096, alignment: 4, local-offset: -4096 }
|
||
|
machineFunctionInfo:
|
||
|
varArgsFrameIndex: 0
|
||
|
varArgsSaveSize: 0
|
||
|
body: |
|
||
|
bb.0.entry:
|
||
|
; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_4096v
|
||
|
; CHECK-RV32-NO-COM: liveins: $x1
|
||
|
; CHECK-RV32-NO-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1)
|
||
|
; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -32
|
||
|
; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
|
||
|
; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12
|
||
|
; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 48
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x1 = LW $x2, 2028 :: (load (s32) from %stack.1)
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: PseudoRET
|
||
|
;
|
||
|
; CHECK-RV32-COM-LABEL: name: _Z15stack_size_4096v
|
||
|
; CHECK-RV32-COM: liveins: $x1
|
||
|
; CHECK-RV32-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256
|
||
|
; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256
|
||
|
; CHECK-RV32-COM-NEXT: SW killed $x1, $x2, 252 :: (store (s32) into %stack.1)
|
||
|
; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -1808
|
||
|
; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
|
||
|
; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12
|
||
|
; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 1824
|
||
|
; CHECK-RV32-COM-NEXT: $x1 = LW $x2, 252 :: (load (s32) from %stack.1)
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256
|
||
|
; CHECK-RV32-COM-NEXT: PseudoRET
|
||
|
;
|
||
|
; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_4096v
|
||
|
; CHECK-RV64-NO-COM: liveins: $x1
|
||
|
; CHECK-RV64-NO-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1)
|
||
|
; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -32
|
||
|
; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
|
||
|
; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8
|
||
|
; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 48
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x1 = LD $x2, 2024 :: (load (s64) from %stack.1)
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: PseudoRET
|
||
|
;
|
||
|
; CHECK-RV64-COM-LABEL: name: _Z15stack_size_4096v
|
||
|
; CHECK-RV64-COM: liveins: $x1
|
||
|
; CHECK-RV64-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496
|
||
|
; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496
|
||
|
; CHECK-RV64-COM-NEXT: SD killed $x1, $x2, 488 :: (store (s64) into %stack.1)
|
||
|
; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -1568
|
||
|
; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
|
||
|
; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8
|
||
|
; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 1584
|
||
|
; CHECK-RV64-COM-NEXT: $x1 = LD $x2, 488 :: (load (s64) from %stack.1)
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496
|
||
|
; CHECK-RV64-COM-NEXT: PseudoRET
|
||
|
ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
|
||
|
renamable $x10 = ADDI %stack.0, 0
|
||
|
PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2
|
||
|
PseudoRET
|
||
|
|
||
|
...
|
||
|
---
|
||
|
name: _Z15stack_size_8192v
|
||
|
alignment: 2
|
||
|
tracksRegLiveness: true
|
||
|
frameInfo:
|
||
|
maxAlignment: 4
|
||
|
hasCalls: true
|
||
|
localFrameSize: 8192
|
||
|
stack:
|
||
|
- { id: 0, size: 8192, alignment: 4, local-offset: -8192 }
|
||
|
machineFunctionInfo:
|
||
|
varArgsFrameIndex: 0
|
||
|
varArgsSaveSize: 0
|
||
|
body: |
|
||
|
bb.0.entry:
|
||
|
; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_8192v
|
||
|
; CHECK-RV32-NO-COM: liveins: $x1
|
||
|
; CHECK-RV32-NO-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1)
|
||
|
; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x10 = frame-setup LUI 2
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x10 = frame-setup ADDI killed $x10, -2016
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
|
||
|
; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
|
||
|
; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12
|
||
|
; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x10 = frame-destroy LUI 2
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x10 = frame-destroy ADDI killed $x10, -2016
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x1 = LW $x2, 2028 :: (load (s32) from %stack.1)
|
||
|
; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV32-NO-COM-NEXT: PseudoRET
|
||
|
;
|
||
|
; CHECK-RV32-COM-LABEL: name: _Z15stack_size_8192v
|
||
|
; CHECK-RV32-COM: liveins: $x1
|
||
|
; CHECK-RV32-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256
|
||
|
; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256
|
||
|
; CHECK-RV32-COM-NEXT: SW killed $x1, $x2, 252 :: (store (s32) into %stack.1)
|
||
|
; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
|
||
|
; CHECK-RV32-COM-NEXT: $x10 = frame-setup LUI 2
|
||
|
; CHECK-RV32-COM-NEXT: $x10 = frame-setup ADDI killed $x10, -240
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
|
||
|
; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
|
||
|
; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12
|
||
|
; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV32-COM-NEXT: $x10 = frame-destroy LUI 2
|
||
|
; CHECK-RV32-COM-NEXT: $x10 = frame-destroy ADDI killed $x10, -240
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
|
||
|
; CHECK-RV32-COM-NEXT: $x1 = LW $x2, 252 :: (load (s32) from %stack.1)
|
||
|
; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256
|
||
|
; CHECK-RV32-COM-NEXT: PseudoRET
|
||
|
;
|
||
|
; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_8192v
|
||
|
; CHECK-RV64-NO-COM: liveins: $x1
|
||
|
; CHECK-RV64-NO-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1)
|
||
|
; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x10 = frame-setup LUI 2
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x10 = frame-setup ADDIW killed $x10, -2016
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
|
||
|
; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
|
||
|
; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8
|
||
|
; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x10 = frame-destroy LUI 2
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x10 = frame-destroy ADDIW killed $x10, -2016
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x1 = LD $x2, 2024 :: (load (s64) from %stack.1)
|
||
|
; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
|
||
|
; CHECK-RV64-NO-COM-NEXT: PseudoRET
|
||
|
;
|
||
|
; CHECK-RV64-COM-LABEL: name: _Z15stack_size_8192v
|
||
|
; CHECK-RV64-COM: liveins: $x1
|
||
|
; CHECK-RV64-COM-NEXT: {{ $}}
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496
|
||
|
; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496
|
||
|
; CHECK-RV64-COM-NEXT: SD killed $x1, $x2, 488 :: (store (s64) into %stack.1)
|
||
|
; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
|
||
|
; CHECK-RV64-COM-NEXT: $x10 = frame-setup LUI 2
|
||
|
; CHECK-RV64-COM-NEXT: $x10 = frame-setup ADDIW killed $x10, -480
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
|
||
|
; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
|
||
|
; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8
|
||
|
; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
; CHECK-RV64-COM-NEXT: $x10 = frame-destroy LUI 2
|
||
|
; CHECK-RV64-COM-NEXT: $x10 = frame-destroy ADDIW killed $x10, -480
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
|
||
|
; CHECK-RV64-COM-NEXT: $x1 = LD $x2, 488 :: (load (s64) from %stack.1)
|
||
|
; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496
|
||
|
; CHECK-RV64-COM-NEXT: PseudoRET
|
||
|
ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
|
||
|
renamable $x10 = ADDI %stack.0, 0
|
||
|
PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
|
||
|
ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2
|
||
|
PseudoRET
|
||
|
|
||
|
...
|