mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
2817246389
We need to avoid setting the kill flag on the CSR spill if there's an additional use of the register after the spill. This does rely on consistency between the entry block liveins and the MRI's function live ins, which is not something the verifier checks now.
21 lines
611 B
YAML
21 lines
611 B
YAML
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
|
# RUN: llc -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs -run-pass=si-lower-sgpr-spills -o - %s | FileCheck %s
|
|
|
|
---
|
|
name: spill_csr_sgpr_argument
|
|
tracksRegLiveness: true
|
|
liveins:
|
|
- { reg: '$sgpr50' }
|
|
body: |
|
|
bb.0:
|
|
liveins: $sgpr50
|
|
; CHECK-LABEL: name: spill_csr_sgpr_argument
|
|
; CHECK: liveins: $sgpr50, $vgpr0
|
|
; CHECK: $vgpr0 = V_WRITELANE_B32 $sgpr50, 0, $vgpr0
|
|
; CHECK: S_NOP 0, implicit $sgpr50
|
|
; CHECK: $sgpr50 = S_MOV_B32 0
|
|
S_NOP 0, implicit $sgpr50
|
|
$sgpr50 = S_MOV_B32 0
|
|
|
|
...
|