1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/CodeGen/SystemZ/regalloc-fast-invalid-kill-flag.mir
Matthias Braun aee5f0fc5d Relax fast register allocator related test cases; NFC
- Relex hard coded registers and stack frame sizes
- Some test cleanups
- Change phi-dbg.ll to match on mir output after phi elimination instead
  of going through the whole codegen pipeline.

This is in preparation for https://reviews.llvm.org/D52010
I'm committing all the test changes upfront that work before and after
independently.

llvm-svn: 345532
2018-10-29 20:10:42 +00:00

31 lines
897 B
YAML

# RUN: llc -verify-machineinstrs -run-pass regallocfast -mtriple s390x-ibm-linux -o - %s | FileCheck %s
--- |
@g_167 = external global [5 x i64], align 8
define void @main() local_unnamed_addr {
ret void
}
...
# Make sure the usage of different subregisters on the same virtual register
# does not result in invalid kill flags.
# PR33677
---
name: main
alignment: 2
tracksRegLiveness: true
# CHECK: $r0l = COPY renamable $r1l
# Although R0L partially redefines R0Q, it must not mark R0Q as kill
# because R1D is still live through that instruction.
# CHECK-NOT: implicit killed $r0q
# CHECK-NEXT: {{\$r[0-9]+d}} = COPY renamable $r1d
# CHECK-NEXT: LARL
body: |
bb.0:
%0 : gr128bit = IMPLICIT_DEF
%0.subreg_hl32 = COPY %0.subreg_l32
%1 : gr64bit = COPY %0.subreg_l64
%2 : addr64bit = LARL @g_167
STC %1.subreg_l32, %2, 8, $noreg
...