mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-01 16:22:41 +00:00
SCEV validator: Ignore CouldNotCompute/undef on both sides. This is mostly noise and blocks finding more severe bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166873 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cb8b8ea2b6
commit
974d98d730
@ -7005,15 +7005,18 @@ void ScalarEvolution::verifyAnalysis() const {
|
|||||||
|
|
||||||
// Compare the stringified SCEVs. We don't care if undef backedgetaken count
|
// Compare the stringified SCEVs. We don't care if undef backedgetaken count
|
||||||
// changes.
|
// changes.
|
||||||
// FIXME: We currently ignore SCEV changes towards CouldNotCompute. This
|
// FIXME: We currently ignore SCEV changes from/to CouldNotCompute. This
|
||||||
// means that a pass is buggy or SCEV has to learn a new pattern but is
|
// means that a pass is buggy or SCEV has to learn a new pattern but is
|
||||||
// usually not harmful.
|
// usually not harmful.
|
||||||
if (OldI->second != NewI->second &&
|
if (OldI->second != NewI->second &&
|
||||||
OldI->second.find("undef") == std::string::npos &&
|
OldI->second.find("undef") == std::string::npos &&
|
||||||
|
NewI->second.find("undef") == std::string::npos &&
|
||||||
|
OldI->second != "***COULDNOTCOMPUTE***" &&
|
||||||
NewI->second != "***COULDNOTCOMPUTE***") {
|
NewI->second != "***COULDNOTCOMPUTE***") {
|
||||||
dbgs() << "SCEVValidator: SCEV for Loop '"
|
dbgs() << "SCEVValidator: SCEV for loop '"
|
||||||
<< OldI->first->getHeader()->getName()
|
<< OldI->first->getHeader()->getName()
|
||||||
<< "' from '" << OldI->second << "' to '" << NewI->second << "'!";
|
<< "' changed from '" << OldI->second
|
||||||
|
<< "' to '" << NewI->second << "'!\n";
|
||||||
std::abort();
|
std::abort();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user