Revert r247278 "Disable support for modulo expressions"

  This reverts commit 00c5b6ca8832439193036aadaaaee92a43236219.

  We can handle modulo expressions in the domain again.

llvm-svn: 247542
diff --git a/polly/lib/Support/SCEVValidator.cpp b/polly/lib/Support/SCEVValidator.cpp
index 4514219..85bda18 100644
--- a/polly/lib/Support/SCEVValidator.cpp
+++ b/polly/lib/Support/SCEVValidator.cpp
@@ -350,23 +350,17 @@
   }
 
   ValidatorResult visitSRemInstruction(Instruction *SRem, const SCEV *S) {
-    // TODO: FIXME: SRem instructions in the domain description are currently
-    //              not compatible with the domain generation. Once this is
-    //              fixed we need to enable this handling again.
-    return ValidatorResult(SCEVType::INVALID);
-#if 0
-        assert(SRem->getOpcode() == Instruction::SRem &&
-               "Assumed SRem instruction!");
+    assert(SRem->getOpcode() == Instruction::SRem &&
+           "Assumed SRem instruction!");
 
-        auto *Divisor = SRem->getOperand(1);
-        auto *CI = dyn_cast<ConstantInt>(Divisor);
-        if (!CI)
-          return visitGenericInst(SRem, S);
+    auto *Divisor = SRem->getOperand(1);
+    auto *CI = dyn_cast<ConstantInt>(Divisor);
+    if (!CI)
+      return visitGenericInst(SRem, S);
 
-        auto *Dividend = SRem->getOperand(0);
-        auto *DividendSCEV = SE.getSCEV(Dividend);
-        return visit(DividendSCEV);
-#endif
+    auto *Dividend = SRem->getOperand(0);
+    auto *DividendSCEV = SE.getSCEV(Dividend);
+    return visit(DividendSCEV);
   }
 
   ValidatorResult visitUnknown(const SCEVUnknown *Expr) {