this xform is already done by the constant folder.
authorChris Lattner <sabre@nondot.org>
Fri, 20 Jul 2007 22:06:41 +0000 (22:06 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 20 Jul 2007 22:06:41 +0000 (22:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40124 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/InstructionCombining.cpp

index 33fd843d63a255754be4186eaa117702d1ffe931..792d615363f4dadf6781fb43dbe1d10d89483c0e 100644 (file)
@@ -6469,11 +6469,6 @@ Value *InstCombiner::EvaluateInDifferentType(Value *V, const Type *Ty,
 Instruction *InstCombiner::commonCastTransforms(CastInst &CI) {
   Value *Src = CI.getOperand(0);
 
-  // Casting undef to anything results in undef so might as just replace it and
-  // get rid of the cast.
-  if (isa<UndefValue>(Src))   // cast undef -> undef
-    return ReplaceInstUsesWith(CI, UndefValue::get(CI.getType()));
-
   // Many cases of "cast of a cast" are eliminable. If it's eliminable we just
   // eliminate it now.
   if (CastInst *CSrc = dyn_cast<CastInst>(Src)) {   // A->B->C cast
@@ -9888,7 +9883,7 @@ static void AddReachableCodeToWorklist(BasicBlock *BB,
         Inst->eraseFromParent();
         continue;
       }
-      
+     
       IC.AddToWorkList(Inst);
     }