llvm.org GIT mirror llvm / 974d98d
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 Benjamin Kramer 8 years ago
1 changed file(s) with 6 addition(s) and 3 deletion(s). Raw diff Collapse all Expand all
70047004
70057005 // Compare the stringified SCEVs. We don't care if undef backedgetaken count
70067006 // changes.
7007 // FIXME: We currently ignore SCEV changes towards CouldNotCompute. This
7007 // FIXME: We currently ignore SCEV changes from/to CouldNotCompute. This
70087008 // means that a pass is buggy or SCEV has to learn a new pattern but is
70097009 // usually not harmful.
70107010 if (OldI->second != NewI->second &&
70117011 OldI->second.find("undef") == std::string::npos &&
7012 NewI->second.find("undef") == std::string::npos &&
7013 OldI->second != "***COULDNOTCOMPUTE***" &&
70127014 NewI->second != "***COULDNOTCOMPUTE***") {
7013 dbgs() << "SCEVValidator: SCEV for Loop '"
7015 dbgs() << "SCEVValidator: SCEV for loop '"
70147016 << OldI->first->getHeader()->getName()
7015 << "' from '" << OldI->second << "' to '" << NewI->second << "'!";
7017 << "' changed from '" << OldI->second
7018 << "' to '" << NewI->second << "'!\n";
70167019 std::abort();
70177020 }
70187021 }