113454a6eSlaichunfeng# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 2 2cc9ba560SVisoiu Mistrih Francis# RUN: llc -mtriple=riscv32 -x mir -run-pass=prologepilog -verify-machineinstrs < %s \ 313454a6eSlaichunfeng# RUN: | FileCheck -check-prefixes=CHECK-RV32-NO-COM %s 4cc9ba560SVisoiu Mistrih Francis# RUN: llc -mtriple=riscv32 -mattr=+c -x mir -run-pass=prologepilog \ 513454a6eSlaichunfeng# RUN: -verify-machineinstrs < %s | FileCheck -check-prefixes=CHECK-RV32-COM %s 6cc9ba560SVisoiu Mistrih Francis# RUN: llc -mtriple=riscv64 -x mir -run-pass=prologepilog -verify-machineinstrs < %s \ 713454a6eSlaichunfeng# RUN: | FileCheck -check-prefixes=CHECK-RV64-NO-COM %s 8cc9ba560SVisoiu Mistrih Francis# RUN: llc -mtriple=riscv64 -mattr=+c -x mir -run-pass=prologepilog \ 913454a6eSlaichunfeng# RUN: -verify-machineinstrs < %s | FileCheck -check-prefixes=CHECK-RV64-COM %s 1013454a6eSlaichunfeng--- | 1113454a6eSlaichunfeng define dso_local void @_Z15stack_size_2048v() { 1213454a6eSlaichunfeng entry: 1313454a6eSlaichunfeng ret void 1413454a6eSlaichunfeng } 1513454a6eSlaichunfeng 1613454a6eSlaichunfeng declare dso_local void @_Z6calleePi(ptr noundef) 1713454a6eSlaichunfeng 1813454a6eSlaichunfeng define dso_local void @_Z15stack_size_4096v() { 1913454a6eSlaichunfeng entry: 2013454a6eSlaichunfeng ret void 2113454a6eSlaichunfeng } 2213454a6eSlaichunfeng 2313454a6eSlaichunfeng define dso_local void @_Z15stack_size_8192v() { 2413454a6eSlaichunfeng entry: 2513454a6eSlaichunfeng ret void 2613454a6eSlaichunfeng } 2713454a6eSlaichunfeng 2813454a6eSlaichunfeng... 2913454a6eSlaichunfeng--- 3013454a6eSlaichunfengname: _Z15stack_size_2048v 3113454a6eSlaichunfengalignment: 2 3213454a6eSlaichunfengtracksRegLiveness: true 3313454a6eSlaichunfengframeInfo: 3413454a6eSlaichunfeng maxAlignment: 4 3509bc6abbSJonas Paulsson adjustsStack: true 3613454a6eSlaichunfeng hasCalls: true 3713454a6eSlaichunfeng localFrameSize: 2048 3813454a6eSlaichunfengstack: 3913454a6eSlaichunfeng - { id: 0, size: 2048, alignment: 4, local-offset: -2048 } 4013454a6eSlaichunfengmachineFunctionInfo: 4113454a6eSlaichunfeng varArgsFrameIndex: 0 4213454a6eSlaichunfeng varArgsSaveSize: 0 4313454a6eSlaichunfengbody: | 4413454a6eSlaichunfeng bb.0.entry: 4513454a6eSlaichunfeng ; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_2048v 4613454a6eSlaichunfeng ; CHECK-RV32-NO-COM: liveins: $x1 4713454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: {{ $}} 4813454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032 4913454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032 50*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-NO-COM-NEXT: frame-setup SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1) 5113454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4 5213454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -32 5313454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064 5413454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12 5513454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 5613454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 32 5797982a8cSdlav-sc ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032 58*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-NO-COM-NEXT: $x1 = frame-destroy LW $x2, 2028 :: (load (s32) from %stack.1) 5997982a8cSdlav-sc ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 6013454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 6197982a8cSdlav-sc ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 6213454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: PseudoRET 6313454a6eSlaichunfeng ; 6413454a6eSlaichunfeng ; CHECK-RV32-COM-LABEL: name: _Z15stack_size_2048v 6513454a6eSlaichunfeng ; CHECK-RV32-COM: liveins: $x1 6613454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: {{ $}} 6713454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256 6813454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256 69*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-COM-NEXT: frame-setup SW killed $x1, $x2, 252 :: (store (s32) into %stack.1) 7013454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4 7113454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -1808 7213454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064 7313454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12 7413454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 7513454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 1808 7697982a8cSdlav-sc ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 256 77*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-COM-NEXT: $x1 = frame-destroy LW $x2, 252 :: (load (s32) from %stack.1) 7897982a8cSdlav-sc ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 7913454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256 8097982a8cSdlav-sc ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 8113454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: PseudoRET 8213454a6eSlaichunfeng ; 8313454a6eSlaichunfeng ; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_2048v 8413454a6eSlaichunfeng ; CHECK-RV64-NO-COM: liveins: $x1 8513454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: {{ $}} 8613454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032 8713454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032 88*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-NO-COM-NEXT: frame-setup SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1) 8913454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8 9013454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -32 9113454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064 9213454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8 9313454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 9413454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 32 9597982a8cSdlav-sc ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032 96*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-NO-COM-NEXT: $x1 = frame-destroy LD $x2, 2024 :: (load (s64) from %stack.1) 9797982a8cSdlav-sc ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 9813454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 9997982a8cSdlav-sc ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 10013454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: PseudoRET 10113454a6eSlaichunfeng ; 10213454a6eSlaichunfeng ; CHECK-RV64-COM-LABEL: name: _Z15stack_size_2048v 10313454a6eSlaichunfeng ; CHECK-RV64-COM: liveins: $x1 10413454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: {{ $}} 10571b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496 10671b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496 107*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-COM-NEXT: frame-setup SD killed $x1, $x2, 488 :: (store (s64) into %stack.1) 10813454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8 10971b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -1568 11013454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064 11113454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8 11213454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 11371b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 1568 11497982a8cSdlav-sc ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 496 115*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-COM-NEXT: $x1 = frame-destroy LD $x2, 488 :: (load (s64) from %stack.1) 11697982a8cSdlav-sc ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 11771b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496 11897982a8cSdlav-sc ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 11913454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: PseudoRET 12013454a6eSlaichunfeng ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2 12113454a6eSlaichunfeng renamable $x10 = ADDI %stack.0, 0 12213454a6eSlaichunfeng PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 12313454a6eSlaichunfeng ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2 12413454a6eSlaichunfeng PseudoRET 12513454a6eSlaichunfeng 12613454a6eSlaichunfeng... 12713454a6eSlaichunfeng--- 12813454a6eSlaichunfengname: _Z15stack_size_4096v 12913454a6eSlaichunfengalignment: 2 13013454a6eSlaichunfengtracksRegLiveness: true 13113454a6eSlaichunfengframeInfo: 13213454a6eSlaichunfeng maxAlignment: 4 13309bc6abbSJonas Paulsson adjustsStack: true 13413454a6eSlaichunfeng hasCalls: true 13513454a6eSlaichunfeng localFrameSize: 4096 13613454a6eSlaichunfengstack: 13713454a6eSlaichunfeng - { id: 0, size: 4096, alignment: 4, local-offset: -4096 } 13813454a6eSlaichunfengmachineFunctionInfo: 13913454a6eSlaichunfeng varArgsFrameIndex: 0 14013454a6eSlaichunfeng varArgsSaveSize: 0 14113454a6eSlaichunfengbody: | 14213454a6eSlaichunfeng bb.0.entry: 14313454a6eSlaichunfeng ; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_4096v 14413454a6eSlaichunfeng ; CHECK-RV32-NO-COM: liveins: $x1 14513454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: {{ $}} 14613454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032 14713454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032 148*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-NO-COM-NEXT: frame-setup SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1) 14913454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4 15013454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048 15113454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -32 15213454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112 15313454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12 15413454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 15513454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 15613454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 48 15797982a8cSdlav-sc ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032 158*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-NO-COM-NEXT: $x1 = frame-destroy LW $x2, 2028 :: (load (s32) from %stack.1) 15997982a8cSdlav-sc ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 16013454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 16197982a8cSdlav-sc ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 16213454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: PseudoRET 16313454a6eSlaichunfeng ; 16413454a6eSlaichunfeng ; CHECK-RV32-COM-LABEL: name: _Z15stack_size_4096v 16513454a6eSlaichunfeng ; CHECK-RV32-COM: liveins: $x1 16613454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: {{ $}} 16713454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256 16813454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256 169*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-COM-NEXT: frame-setup SW killed $x1, $x2, 252 :: (store (s32) into %stack.1) 17013454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4 17113454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048 17213454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -1808 17313454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112 17413454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12 17513454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 17613454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 17713454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 1824 17897982a8cSdlav-sc ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 256 179*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-COM-NEXT: $x1 = frame-destroy LW $x2, 252 :: (load (s32) from %stack.1) 18097982a8cSdlav-sc ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 18113454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256 18297982a8cSdlav-sc ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 18313454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: PseudoRET 18413454a6eSlaichunfeng ; 18513454a6eSlaichunfeng ; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_4096v 18613454a6eSlaichunfeng ; CHECK-RV64-NO-COM: liveins: $x1 18713454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: {{ $}} 18813454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032 18913454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032 190*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-NO-COM-NEXT: frame-setup SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1) 19113454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8 19213454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048 19313454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -32 19413454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112 19513454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8 19613454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 19713454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 19813454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 48 19997982a8cSdlav-sc ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032 200*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-NO-COM-NEXT: $x1 = frame-destroy LD $x2, 2024 :: (load (s64) from %stack.1) 20197982a8cSdlav-sc ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 20213454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 20397982a8cSdlav-sc ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 20413454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: PseudoRET 20513454a6eSlaichunfeng ; 20613454a6eSlaichunfeng ; CHECK-RV64-COM-LABEL: name: _Z15stack_size_4096v 20713454a6eSlaichunfeng ; CHECK-RV64-COM: liveins: $x1 20813454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: {{ $}} 20971b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496 21071b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496 211*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-COM-NEXT: frame-setup SD killed $x1, $x2, 488 :: (store (s64) into %stack.1) 21213454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8 21313454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048 21471b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -1568 21513454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112 21613454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8 21713454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 21813454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 21971b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 1584 22097982a8cSdlav-sc ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 496 221*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-COM-NEXT: $x1 = frame-destroy LD $x2, 488 :: (load (s64) from %stack.1) 22297982a8cSdlav-sc ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 22371b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496 22497982a8cSdlav-sc ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 22513454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: PseudoRET 22613454a6eSlaichunfeng ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2 22713454a6eSlaichunfeng renamable $x10 = ADDI %stack.0, 0 22813454a6eSlaichunfeng PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 22913454a6eSlaichunfeng ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2 23013454a6eSlaichunfeng PseudoRET 23113454a6eSlaichunfeng 23213454a6eSlaichunfeng... 23313454a6eSlaichunfeng--- 23413454a6eSlaichunfengname: _Z15stack_size_8192v 23513454a6eSlaichunfengalignment: 2 23613454a6eSlaichunfengtracksRegLiveness: true 23713454a6eSlaichunfengframeInfo: 23813454a6eSlaichunfeng maxAlignment: 4 23909bc6abbSJonas Paulsson adjustsStack: true 24013454a6eSlaichunfeng hasCalls: true 24113454a6eSlaichunfeng localFrameSize: 8192 24213454a6eSlaichunfengstack: 24313454a6eSlaichunfeng - { id: 0, size: 8192, alignment: 4, local-offset: -8192 } 24413454a6eSlaichunfengmachineFunctionInfo: 24513454a6eSlaichunfeng varArgsFrameIndex: 0 24613454a6eSlaichunfeng varArgsSaveSize: 0 24713454a6eSlaichunfengbody: | 24813454a6eSlaichunfeng bb.0.entry: 24913454a6eSlaichunfeng ; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_8192v 25013454a6eSlaichunfeng ; CHECK-RV32-NO-COM: liveins: $x1 25113454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: {{ $}} 25213454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032 25313454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032 254*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-NO-COM-NEXT: frame-setup SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1) 25513454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4 25613454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-setup LUI 2 25713454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-setup ADDI killed $x10, -2016 25813454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10 25913454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208 26013454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12 26113454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 26213454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-destroy LUI 2 26313454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-destroy ADDI killed $x10, -2016 26413454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10 26597982a8cSdlav-sc ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032 266*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-NO-COM-NEXT: $x1 = frame-destroy LW $x2, 2028 :: (load (s32) from %stack.1) 26797982a8cSdlav-sc ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 26813454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 26997982a8cSdlav-sc ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 27013454a6eSlaichunfeng ; CHECK-RV32-NO-COM-NEXT: PseudoRET 27113454a6eSlaichunfeng ; 27213454a6eSlaichunfeng ; CHECK-RV32-COM-LABEL: name: _Z15stack_size_8192v 27313454a6eSlaichunfeng ; CHECK-RV32-COM: liveins: $x1 27413454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: {{ $}} 27513454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256 27613454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256 277*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-COM-NEXT: frame-setup SW killed $x1, $x2, 252 :: (store (s32) into %stack.1) 27813454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4 27913454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x10 = frame-setup LUI 2 28013454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x10 = frame-setup ADDI killed $x10, -240 28113454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10 28213454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208 28313454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12 28413454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 28513454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x10 = frame-destroy LUI 2 28613454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x10 = frame-destroy ADDI killed $x10, -240 28713454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10 28897982a8cSdlav-sc ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 256 289*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV32-COM-NEXT: $x1 = frame-destroy LW $x2, 252 :: (load (s32) from %stack.1) 29097982a8cSdlav-sc ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 29113454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256 29297982a8cSdlav-sc ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 29313454a6eSlaichunfeng ; CHECK-RV32-COM-NEXT: PseudoRET 29413454a6eSlaichunfeng ; 29513454a6eSlaichunfeng ; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_8192v 29613454a6eSlaichunfeng ; CHECK-RV64-NO-COM: liveins: $x1 29713454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: {{ $}} 29813454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032 29913454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032 300*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-NO-COM-NEXT: frame-setup SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1) 30113454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8 30213454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-setup LUI 2 30313454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-setup ADDIW killed $x10, -2016 30413454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10 30513454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208 30613454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8 30713454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 30813454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-destroy LUI 2 30913454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-destroy ADDIW killed $x10, -2016 31013454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10 31197982a8cSdlav-sc ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032 312*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-NO-COM-NEXT: $x1 = frame-destroy LD $x2, 2024 :: (load (s64) from %stack.1) 31397982a8cSdlav-sc ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 31413454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032 31597982a8cSdlav-sc ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 31613454a6eSlaichunfeng ; CHECK-RV64-NO-COM-NEXT: PseudoRET 31713454a6eSlaichunfeng ; 31813454a6eSlaichunfeng ; CHECK-RV64-COM-LABEL: name: _Z15stack_size_8192v 31913454a6eSlaichunfeng ; CHECK-RV64-COM: liveins: $x1 32013454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: {{ $}} 32171b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496 32271b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496 323*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-COM-NEXT: frame-setup SD killed $x1, $x2, 488 :: (store (s64) into %stack.1) 32413454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8 32513454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: $x10 = frame-setup LUI 2 32671b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x10 = frame-setup ADDIW killed $x10, -480 32713454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10 32813454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208 32913454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8 33013454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 33113454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: $x10 = frame-destroy LUI 2 33271b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x10 = frame-destroy ADDIW killed $x10, -480 33313454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10 33497982a8cSdlav-sc ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 496 335*a0b04905SVenkata Ramanaiah Nalamothu ; CHECK-RV64-COM-NEXT: $x1 = frame-destroy LD $x2, 488 :: (load (s64) from %stack.1) 33697982a8cSdlav-sc ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 33771b5f57fSlaichunfeng ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496 33897982a8cSdlav-sc ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0 33913454a6eSlaichunfeng ; CHECK-RV64-COM-NEXT: PseudoRET 34013454a6eSlaichunfeng ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2 34113454a6eSlaichunfeng renamable $x10 = ADDI %stack.0, 0 34213454a6eSlaichunfeng PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2 34313454a6eSlaichunfeng ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2 34413454a6eSlaichunfeng PseudoRET 34513454a6eSlaichunfeng 34613454a6eSlaichunfeng... 347