From 92e0834ac7d9ff2539706522ef521bd2319dc15f Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Fri, 11 Jul 2008 17:02:09 +0000 Subject: [PATCH] Remove an apparently useless routine: there should be no need to split the result of a vector RET node, since they are always already legal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53462 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/LegalizeTypes.h | 1 - lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 14 -------------- 2 files changed, 15 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/LegalizeTypes.h b/lib/CodeGen/SelectionDAG/LegalizeTypes.h index f1ecd2a9730..b60ad2708fa 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeTypes.h +++ b/lib/CodeGen/SelectionDAG/LegalizeTypes.h @@ -440,7 +440,6 @@ private: SDOperand SplitVecOp_BIT_CONVERT(SDNode *N); SDOperand SplitVecOp_EXTRACT_SUBVECTOR(SDNode *N); SDOperand SplitVecOp_EXTRACT_VECTOR_ELT(SDNode *N); - SDOperand SplitVecOp_RET(SDNode *N, unsigned OpNo); SDOperand SplitVecOp_STORE(StoreSDNode *N, unsigned OpNo); SDOperand SplitVecOp_VECTOR_SHUFFLE(SDNode *N, unsigned OpNo); diff --git a/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp index 0b00d65943d..4322553137a 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp @@ -547,7 +547,6 @@ bool DAGTypeLegalizer::SplitVectorOperand(SDNode *N, unsigned OpNo) { assert(0 && "Do not know how to split this operator's operand!"); abort(); case ISD::STORE: Res = SplitVecOp_STORE(cast(N), OpNo); break; - case ISD::RET: Res = SplitVecOp_RET(N, OpNo); break; case ISD::BIT_CONVERT: Res = SplitVecOp_BIT_CONVERT(N); break; @@ -604,19 +603,6 @@ SDOperand DAGTypeLegalizer::SplitVecOp_STORE(StoreSDNode *N, unsigned OpNo) { return DAG.getNode(ISD::TokenFactor, MVT::Other, Lo, Hi); } -SDOperand DAGTypeLegalizer::SplitVecOp_RET(SDNode *N, unsigned OpNo) { - assert(N->getNumOperands() == 3 &&"Can only handle ret of one vector so far"); - // FIXME: Returns of gcc generic vectors larger than a legal vector - // type should be returned by reference! - SDOperand Lo, Hi; - GetSplitVector(N->getOperand(1), Lo, Hi); - - SDOperand Chain = N->getOperand(0); // The chain. - SDOperand Sign = N->getOperand(2); // Signness - - return DAG.getNode(ISD::RET, MVT::Other, Chain, Lo, Sign, Hi, Sign); -} - SDOperand DAGTypeLegalizer::SplitVecOp_BIT_CONVERT(SDNode *N) { // For example, i64 = BIT_CONVERT v4i16 on alpha. Typically the vector will // end up being split all the way down to individual components. Convert the