Revert "This patch builds on top of D13378 to handle constant condition."
authorJames Molloy <james.molloy@arm.com>
Wed, 7 Oct 2015 09:03:34 +0000 (09:03 +0000)
committerJames Molloy <james.molloy@arm.com>
Wed, 7 Oct 2015 09:03:34 +0000 (09:03 +0000)
This reverts commit r249431. This caused failures in sqlite3: http://lab.llvm.org:8011/builders/clang-native-arm-lnt/builds/14453

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249528 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/ScalarEvolution.cpp
test/Analysis/ScalarEvolution/constant_condition.ll [deleted file]

index caa0899f6a958fa28b3635eb93758e6573e16486..9715d83fd10b885b71253ddf46b13f09ed259571 100644 (file)
@@ -3904,11 +3904,6 @@ const SCEV *ScalarEvolution::createNodeForSelectOrPHI(Instruction *I,
                                                       Value *Cond,
                                                       Value *TrueVal,
                                                       Value *FalseVal) {
-  // Handle "constant" branch or select. This can occur for instance when a
-  // loop pass transforms an inner loop and moves on to process the outer loop.
-  if (auto *CI = dyn_cast<ConstantInt>(Cond))
-    return getSCEV(CI->isOne() ? TrueVal : FalseVal);
-
   // Try to match some simple smax or umax patterns.
   auto *ICI = dyn_cast<ICmpInst>(Cond);
   if (!ICI)
diff --git a/test/Analysis/ScalarEvolution/constant_condition.ll b/test/Analysis/ScalarEvolution/constant_condition.ll
deleted file mode 100644 (file)
index 32ab91b..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
-
-define i32 @branch_true(i32 %x, i32 %y) {
-; CHECK-LABEL: Classifying expressions for: @branch_true
- entry:
-  br i1 true, label %add, label %merge
-
- add:
-  %sum = add i32 %x, %y
-  br label %merge
-
- merge:
-  %v = phi i32 [ %sum, %add ], [ %x, %entry ]
-; CHECK:  %v = phi i32 [ %sum, %add ], [ %x, %entry ]
-; CHECK-NEXT:  -->  (%x + %y) U: full-set S: full-set
-  ret i32 %v
-}
-
-define i32 @branch_false(i32 %x, i32 %y) {
-; CHECK-LABEL: Classifying expressions for: @branch_false
- entry:
-  br i1 false, label %add, label %merge
-
- add:
-  %sum = add i32 %x, %y
-  br label %merge
-
- merge:
-  %v = phi i32 [ %sum, %add ], [ %x, %entry ]
-; CHECK:  %v = phi i32 [ %sum, %add ], [ %x, %entry ]
-; CHECK-NEXT:  -->  %x U: full-set S: full-set
-  ret i32 %v
-}
-
-define i32 @select_true(i32 %x, i32 %y) {
-; CHECK-LABEL: Classifying expressions for: @select_true
- entry:
- %v = select i1 true, i32 %x, i32 %y
-; CHECK:  %v = select i1 true, i32 %x, i32 %y
-; CHECK-NEXT:  -->  %x U: full-set S: full-set
-  ret i32 %v
-}
-
-define i32 @select_false(i32 %x, i32 %y) {
-; CHECK-LABEL: Classifying expressions for: @select_false
- entry:
- %v = select i1 false, i32 %x, i32 %y
-; CHECK:  %v = select i1 false, i32 %x, i32 %y
-; CHECK-NEXT:  -->  %y U: full-set S: full-set
-  ret i32 %v
-}