diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 6a81975292c..ed363e111c4 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -772,8 +772,9 @@ SDOperand SelectionDAGISel:: CopyValueToVirtualRegister(SelectionDAGLowering &SDL, Value *V, unsigned Reg) { SelectionDAG &DAG = SDL.DAG; SDOperand Op = SDL.getValue(V); - if (CopyRegSDNode *CR = dyn_cast<CopyRegSDNode>(Op)) - assert(CR->getReg() != Reg && "Copy from a reg to the same reg!"); + assert((Op.getOpcode() != ISD::CopyFromReg || + cast<RegSDNode>(Op)->getReg() != Reg) && + "Copy from a reg to the same reg!"); return DAG.getCopyToReg(DAG.getRoot(), Op, Reg); } |

