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
//