• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: not --crash llc -o - %s -mtriple=s390x-linux-gnu -mcpu=z14 -run-pass none 2>&1 | FileCheck %s
2# REQUIRES: systemz-registered-target
3
4# Test that a the machine verifier reports an error when a register in
5# liveins is not liveout from predecessor.
6
7---
8name:            f1
9tracksRegLiveness: true
10machineFunctionInfo: {}
11body:             |
12  bb.0:
13    liveins: $r2l, $r3l
14
15    %1:gr32bit = COPY $r3l
16    %0:gr32bit = COPY $r2l
17    CHIMux %0, 0, implicit-def $cc
18
19  bb.1:
20    liveins: $cc
21
22  bb.2:
23    liveins: $cc
24
25    %2:grx32bit = LOCRMux %1, %0, 14, 8, implicit $cc
26    $r2l = COPY %2
27    Return implicit $r2l
28...
29
30# CHECK: *** Bad machine code: Live in register not found to be live out from predecessor. ***
31# CHECK:- function:    f2
32# CHECK:- basic block: %bb.2
33# CHECK:CC not found to be live out from %bb.1
34---
35name:            f2
36tracksRegLiveness: true
37machineFunctionInfo: {}
38body:             |
39  bb.0:
40    liveins: $r2l, $r3l
41
42    %1:gr32bit = COPY $r3l
43    %0:gr32bit = COPY $r2l
44    CHIMux %0, 0, implicit-def $cc
45
46  bb.1:
47    liveins: $cc
48    KILL killed $cc
49
50  bb.2:
51    liveins: $cc
52
53    %2:grx32bit = LOCRMux %1, %0, 14, 8, implicit $cc
54    $r2l = COPY %2
55    Return implicit $r2l
56
57...
58