Fix a bug in my select transformation
authorChris Lattner <sabre@nondot.org>
Sun, 11 Apr 2004 01:39:19 +0000 (01:39 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 11 Apr 2004 01:39:19 +0000 (01:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12826 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/InstructionCombining.cpp

index 56c52b3fb81ad9670e7c54e95693983d43a1635d..af85c5fdde9f36cd9e5078fdc46a2e9262965634 100644 (file)
@@ -2224,10 +2224,10 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) {
     } else if (SCI->getOperand(0) == FalseVal && SCI->getOperand(1) == TrueVal){
       // Transform (X == Y) ? Y : X  -> X
       if (SCI->getOpcode() == Instruction::SetEQ)
-        return ReplaceInstUsesWith(SI, TrueVal);
+        return ReplaceInstUsesWith(SI, FalseVal);
       // Transform (X != Y) ? Y : X  -> Y
       if (SCI->getOpcode() == Instruction::SetNE)
-        return ReplaceInstUsesWith(SI, FalseVal);
+        return ReplaceInstUsesWith(SI, TrueVal);
       // NOTE: if we wanted to, this is where to detect MIN/MAX/ABS/etc.
     }
   }