ScevValidator: Add printer for ValidatorResult
llvm-svn: 152912
diff --git a/polly/lib/Support/SCEVValidator.cpp b/polly/lib/Support/SCEVValidator.cpp
index 0b87e9e..4d0087a 100644
--- a/polly/lib/Support/SCEVValidator.cpp
+++ b/polly/lib/Support/SCEVValidator.cpp
@@ -99,8 +99,30 @@
Type = std::max(Type, ToMerge.Type);
addParamsFrom(ToMerge);
}
+
+ void print(raw_ostream &OS) {
+ switch (Type) {
+ case SCEVType::INT:
+ OS << "SCEVType::INT\n";
+ break;
+ case SCEVType::PARAM:
+ OS << "SCEVType::PARAM\n";
+ break;
+ case SCEVType::IV:
+ OS << "SCEVType::IV\n";
+ break;
+ case SCEVType::INVALID:
+ OS << "SCEVType::INVALID\n";
+ break;
+ }
+ }
};
+raw_ostream &operator<<(raw_ostream &OS, class ValidatorResult &VR) {
+ VR.print(OS);
+ return OS;
+}
+
/// Check if a SCEV is valid in a SCoP.
struct SCEVValidator
: public SCEVVisitor<SCEVValidator, class ValidatorResult> {