[FIX] Only constant integer branch conditions are always affine

  There are several different kinds of constants that could occur in a
  branch condition, however we can only handle the most interesting one
  namely constant integers. To this end we have to treat others as
  non-affine.

  This fixes bug 25244.

llvm-svn: 250669
diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp
index f513c81..043fc61 100644
--- a/polly/lib/Analysis/ScopDetection.cpp
+++ b/polly/lib/Analysis/ScopDetection.cpp
@@ -421,8 +421,8 @@
   if (isa<UndefValue>(Condition))
     return invalid<ReportUndefCond>(Context, /*Assert=*/true, TI, &BB);
 
-  // Constant conditions are always affine.
-  if (isa<Constant>(Condition))
+  // Constant integer conditions are always affine.
+  if (isa<ConstantInt>(Condition))
     return true;
 
   if (BranchInst *BI = dyn_cast<BranchInst>(TI))