Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MachineVerifier / live-ins-03.mir
blobae640c439d3e1c01b62265cfee2a3264e2d76dad
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
4 # Test that a the machine verifier reports an error when a register in
5 # liveins is not liveout from predecessor.
7 ---
8 name:            f1
9 tracksRegLiveness: true
10 machineFunctionInfo: {}
11 body:             |
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
19   bb.1:
20     liveins: $cc
21     BRC 14, 8, %bb.3, implicit $cc
23   bb.2:
25   bb.3:
26     liveins: $cc
28     %2:grx32bit = LOCRMux %1, %0, 14, 8, implicit $cc
29     $r2l = COPY %2
30     Return implicit $r2l
31 ...
33 # CHECK: *** Bad machine code: Live in register not found to be live out from predecessor. ***
34 # CHECK:- function:    f1
35 # CHECK:- basic block: %bb.3
36 # CHECK:CC not found to be live out from %bb.2