Revert "[MachineVerifier] Improve verification of live-in lists.

This reverts commit b7b170c to give the author more time to address failing tests on the expensive checks buildbots.
This commit is contained in:
Galina Kistanova 2019-11-07 14:02:13 -08:00
parent d91ed80e97
commit ad3c9d46fe
5 changed files with 0 additions and 154 deletions

View File

@ -137,9 +137,6 @@ public:
/// Live out registers are the union of the live-in registers of the successor
/// blocks and pristine registers. Live out registers of the end block are the
/// callee saved registers.
/// If a register is not added by this method, it is guaranteed to not be
/// live out from MBB, although a sub-register may be. This is true
/// both before and after regalloc.
void addLiveOuts(const MachineBasicBlock &MBB);
/// Adds all live-out registers of basic block \p MBB but skips pristine

View File

@ -2304,32 +2304,6 @@ void MachineVerifier::visitMachineFunctionAfter() {
if (LiveInts)
verifyLiveIntervals();
// Check live-in list of each MBB. If a register is live into MBB, check
// that the register is in regsLiveOut of each predecessor block. Since
// this must come from a definition in the predecesssor or its live-in
// list, this will catch a live-through case where the predecessor does not
// have the register in its live-in list. This currently only checks
// registers that have no aliases, are not allocatable and are not
// reserved, which could mean a condition code register for instance.
if (MRI->tracksLiveness())
for (const auto &MBB : *MF)
for (MachineBasicBlock::RegisterMaskPair P : MBB.liveins()) {
MCPhysReg LiveInReg = P.PhysReg;
bool hasAliases = MCRegAliasIterator(LiveInReg, TRI, false).isValid();
if (hasAliases || isAllocatable(LiveInReg) || isReserved(LiveInReg))
continue;
for (const MachineBasicBlock *Pred : MBB.predecessors()) {
BBInfo &PInfo = MBBInfoMap[Pred];
if (!PInfo.regsLiveOut.count(LiveInReg)) {
report("Live in register not found to be live out from predecessor.",
&MBB);
errs() << TRI->getName(LiveInReg)
<< " not found to be live out from "
<< printMBBReference(*Pred) << "\n";
}
}
}
for (auto CSInfo : MF->getCallSitesInfo())
if (!CSInfo.first->isCall())
report("Call site info referencing instruction that is not call", MF);

View File

@ -1,57 +0,0 @@
# RUN: not llc -o - %s -mtriple=s390x-linux-gnu -mcpu=z14 -run-pass none 2>&1 | FileCheck %s
# REQUIRES: systemz-registered-target
# Test that a the machine verifier reports an error when a register in
# liveins is not liveout from predecessor.
---
name: f1
tracksRegLiveness: true
machineFunctionInfo: {}
body: |
bb.0:
liveins: $r2l, $r3l
%1:gr32bit = COPY $r3l
%0:gr32bit = COPY $r2l
CHIMux %0, 0, implicit-def $cc
bb.1:
liveins: $cc
bb.2:
liveins: $cc
%2:grx32bit = LOCRMux %1, %0, 14, 8, implicit $cc
$r2l = COPY %2
Return implicit $r2l
...
# CHECK: *** Bad machine code: Live in register not found to be live out from predecessor. ***
# CHECK:- function: f2
# CHECK:- basic block: %bb.2
# CHECK:CC not found to be live out from %bb.1
---
name: f2
tracksRegLiveness: true
machineFunctionInfo: {}
body: |
bb.0:
liveins: $r2l, $r3l
%1:gr32bit = COPY $r3l
%0:gr32bit = COPY $r2l
CHIMux %0, 0, implicit-def $cc
bb.1:
liveins: $cc
KILL killed $cc
bb.2:
liveins: $cc
%2:grx32bit = LOCRMux %1, %0, 14, 8, implicit $cc
$r2l = COPY %2
Return implicit $r2l
...

View File

@ -1,32 +0,0 @@
# RUN: not llc -o - %s -mtriple=s390x-linux-gnu -mcpu=z14 -run-pass none 2>&1 | FileCheck %s
# REQUIRES: systemz-registered-target
# Test that a the machine verifier reports an error when a register in
# liveins is not liveout from predecessor.
---
name: f1
tracksRegLiveness: true
machineFunctionInfo: {}
body: |
bb.0:
liveins: $r2l, $r3l
%1:gr32bit = COPY $r3l
%0:gr32bit = COPY $r2l
CHIMux %0, 0, implicit-def $cc
bb.1:
bb.2:
liveins: $cc
%2:grx32bit = LOCRMux %1, %0, 14, 8, implicit $cc
$r2l = COPY %2
Return implicit $r2l
...
# CHECK: *** Bad machine code: Live in register not found to be live out from predecessor. ***
# CHECK:- function: f1
# CHECK:- basic block: %bb.2
# CHECK:CC not found to be live out from %bb.1

View File

@ -1,36 +0,0 @@
# RUN: not llc -o - %s -mtriple=s390x-linux-gnu -mcpu=z14 -run-pass none 2>&1 | FileCheck %s
# REQUIRES: systemz-registered-target
# Test that a the machine verifier reports an error when a register in
# liveins is not liveout from predecessor.
---
name: f1
tracksRegLiveness: true
machineFunctionInfo: {}
body: |
bb.0:
liveins: $r2l, $r3l
%1:gr32bit = COPY $r3l
%0:gr32bit = COPY $r2l
CHIMux %0, 0, implicit-def $cc
bb.1:
liveins: $cc
BRC 14, 8, %bb.3, implicit $cc
bb.2:
bb.3:
liveins: $cc
%2:grx32bit = LOCRMux %1, %0, 14, 8, implicit $cc
$r2l = COPY %2
Return implicit $r2l
...
# CHECK: *** Bad machine code: Live in register not found to be live out from predecessor. ***
# CHECK:- function: f1
# CHECK:- basic block: %bb.3
# CHECK:CC not found to be live out from %bb.2