From d0e58e36a9857c45ecdc910ec8db04c21e143db5 Mon Sep 17 00:00:00 2001 From: Jim Laskey Date: Wed, 15 Feb 2006 19:34:44 +0000 Subject: [PATCH] Should not combine ISD::LOCATIONs until we have scheme to remove from MachineDebugInfo tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26216 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 34 ------------------------ lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 4 +-- 2 files changed, 2 insertions(+), 36 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 05c487c98d3..8f1fa3b8f6a 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -175,9 +175,6 @@ namespace { SDOperand visitLOAD(SDNode *N); SDOperand visitSTORE(SDNode *N); - SDOperand visitLOCATION(SDNode *N); - SDOperand visitDEBUGLOC(SDNode *N); - SDOperand ReassociateOps(unsigned Opc, SDOperand LHS, SDOperand RHS); bool SimplifySelectOps(SDNode *SELECT, SDOperand LHS, SDOperand RHS); @@ -568,8 +565,6 @@ SDOperand DAGCombiner::visit(SDNode *N) { case ISD::BRTWOWAY_CC: return visitBRTWOWAY_CC(N); case ISD::LOAD: return visitLOAD(N); case ISD::STORE: return visitSTORE(N); - case ISD::LOCATION: return visitLOCATION(N); - case ISD::DEBUG_LOC: return visitDEBUGLOC(N); } return SDOperand(); } @@ -2162,35 +2157,6 @@ SDOperand DAGCombiner::visitSTORE(SDNode *N) { return SDOperand(); } -SDOperand DAGCombiner::visitLOCATION(SDNode *N) { - SDOperand Chain = N->getOperand(0); - - // Remove redundant locations (last one holds) - if (Chain.getOpcode() == ISD::LOCATION && Chain.hasOneUse()) { - return DAG.getNode(ISD::LOCATION, MVT::Other, Chain.getOperand(0), - N->getOperand(1), - N->getOperand(2), - N->getOperand(3), - N->getOperand(4)); - } - - return SDOperand(); -} - -SDOperand DAGCombiner::visitDEBUGLOC(SDNode *N) { - SDOperand Chain = N->getOperand(0); - - // Remove redundant debug locations (last one holds) - if (Chain.getOpcode() == ISD::DEBUG_LOC && Chain.hasOneUse()) { - return DAG.getNode(ISD::DEBUG_LOC, MVT::Other, Chain.getOperand(0), - N->getOperand(1), - N->getOperand(2), - N->getOperand(3)); - } - - return SDOperand(); -} - SDOperand DAGCombiner::SimplifySelect(SDOperand N0, SDOperand N1, SDOperand N2){ assert(N0.getOpcode() ==ISD::SETCC && "First argument must be a SetCC node!"); diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index a3317fe9348..d7c9f16867d 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -519,8 +519,8 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) { Ops.push_back(DAG.getConstant(SrcFile, MVT::i32)); // source file id Result = DAG.getNode(ISD::DEBUG_LOC, MVT::Other, Ops); } else { - unsigned Line = dyn_cast(LineOp)->getValue(); - unsigned Col = dyn_cast(ColOp)->getValue(); + unsigned Line = cast(LineOp)->getValue(); + unsigned Col = cast(ColOp)->getValue(); unsigned ID = DebugInfo->RecordLabel(Line, Col, SrcFile); Ops.push_back(DAG.getConstant(ID, MVT::i32)); Result = DAG.getNode(ISD::DEBUG_LABEL, MVT::Other, Ops);