X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FCodeGen%2FSelectionDAG%2FSelectionDAGBuilder.cpp;h=05010ecf7e1b35a701cda81689f08ede8f674e6c;hb=751c4be70521ab89c9dc4f2f2fa28e54659b4865;hp=345bd0ae2dccb0393bd727c0619e740b56335312;hpb=43afab3bdb46bc4d3b5568540428920311821891;p=oota-llvm.git diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 345bd0ae2dc..05010ecf7e1 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -1168,6 +1168,30 @@ SDValue SelectionDAGBuilder::getValueImpl(const Value *V) { llvm_unreachable("Can't get register for value!"); } +void SelectionDAGBuilder::visitCleanupRet(const CleanupReturnInst &I) { + report_fatal_error("visitCleanupRet not yet implemented!"); +} + +void SelectionDAGBuilder::visitCatchEndBlock(const CatchEndBlockInst &I) { + report_fatal_error("visitCatchEndBlock not yet implemented!"); +} + +void SelectionDAGBuilder::visitCatchRet(const CatchReturnInst &I) { + report_fatal_error("visitCatchRet not yet implemented!"); +} + +void SelectionDAGBuilder::visitCatchBlock(const CatchBlockInst &I) { + report_fatal_error("visitCatchBlock not yet implemented!"); +} + +void SelectionDAGBuilder::visitTerminateBlock(const TerminateBlockInst &TBI) { + report_fatal_error("visitTerminateBlock not yet implemented!"); +} + +void SelectionDAGBuilder::visitCleanupBlock(const CleanupBlockInst &TBI) { + report_fatal_error("visitCleanupBlock not yet implemented!"); +} + void SelectionDAGBuilder::visitRet(const ReturnInst &I) { const TargetLowering &TLI = DAG.getTargetLoweringInfo(); auto &DL = DAG.getDataLayout(); @@ -2050,30 +2074,6 @@ void SelectionDAGBuilder::visitLandingPad(const LandingPadInst &LP) { setValue(&LP, Res); } -unsigned -SelectionDAGBuilder::visitLandingPadClauseBB(GlobalValue *ClauseGV, - MachineBasicBlock *LPadBB) { - SDValue Chain = getControlRoot(); - SDLoc dl = getCurSDLoc(); - - // Get the typeid that we will dispatch on later. - const TargetLowering &TLI = DAG.getTargetLoweringInfo(); - const TargetRegisterClass *RC = - TLI.getRegClassFor(TLI.getPointerTy(DAG.getDataLayout())); - unsigned VReg = FuncInfo.MF->getRegInfo().createVirtualRegister(RC); - unsigned TypeID = DAG.getMachineFunction().getMMI().getTypeIDFor(ClauseGV); - SDValue Sel = - DAG.getConstant(TypeID, dl, TLI.getPointerTy(DAG.getDataLayout())); - Chain = DAG.getCopyToReg(Chain, dl, VReg, Sel); - - // Branch to the main landing pad block. - MachineBasicBlock *ClauseMBB = FuncInfo.MBB; - ClauseMBB->addSuccessor(LPadBB); - DAG.setRoot(DAG.getNode(ISD::BR, dl, MVT::Other, Chain, - DAG.getBasicBlock(LPadBB))); - return VReg; -} - void SelectionDAGBuilder::sortAndRangeify(CaseClusterVector &Clusters) { #ifndef NDEBUG for (const CaseCluster &CC : Clusters)