Value cannot be directly instantiated.  I think that this code was TRYING to
make a PHI node, although it was badly broken.  This keeps tests passing, so
we'll go with it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2184 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/InstrSelection/InstrSelection.cpp b/lib/CodeGen/InstrSelection/InstrSelection.cpp
index 1eb507a..583df38 100644
--- a/lib/CodeGen/InstrSelection/InstrSelection.cpp
+++ b/lib/CodeGen/InstrSelection/InstrSelection.cpp
@@ -202,11 +202,9 @@
     //
     for( ; IIt != InstList.end(); ++IIt ) {
 
-      if( (*IIt)->getOpcode() == Instruction::PHINode ) {
-
-	PHINode *PN = (PHINode *) (*IIt);
-
-	Value *PhiCpRes = new Value(PN->getType(),PN->getValueType(),"PhiCp:");
+      if (PHINode *PN = dyn_cast<PHINode>(*IIt)) {
+        // FIXME: This is probably wrong...
+	Value *PhiCpRes = new PHINode(PN->getType(), "PhiCp:");
         
 	// for each incoming value of the phi, insert phi elimination
 	//