diff options
| author | Duncan Sands <baldrick@free.fr> | 2008-07-11 17:02:09 +0000 |
|---|---|---|
| committer | Duncan Sands <baldrick@free.fr> | 2008-07-11 17:02:09 +0000 |
| commit | 121641d6013b0083fd7f53d073a028d9b9307591 (patch) | |
| tree | 2d94b5f2f0dfe675c458589fe1ed03fc2380a913 /llvm/lib | |
| parent | 3e7d0fa3ca664666d88240baa66057221de3f5b1 (diff) | |
| download | bcm5719-llvm-121641d6013b0083fd7f53d073a028d9b9307591.tar.gz bcm5719-llvm-121641d6013b0083fd7f53d073a028d9b9307591.zip | |
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.
llvm-svn: 53462
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 1 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 14 |
2 files changed, 0 insertions, 15 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h b/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h index f1ecd2a9730..b60ad2708fa 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h +++ b/llvm/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/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp index 0b00d65943d..4322553137a 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp +++ b/llvm/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<StoreSDNode>(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 |

