# 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 ...