diff options
author | Nadav Rotem <nadav.rotem@intel.com> | 2011-08-12 17:15:04 +0000 |
---|---|---|
committer | Nadav Rotem <nadav.rotem@intel.com> | 2011-08-12 17:15:04 +0000 |
commit | c796ae1d68c92026be5d353584b514311cc3eb0d (patch) | |
tree | 23abf7f5a46710e2cd4d65cf2b692535a658b05c /lib/CodeGen/SelectionDAG/DAGCombiner.cpp | |
parent | 46c38aff89c36a95bc9e61c6133056a5de9e5e59 (diff) |
Revert r137310 because it does not optimize any code on ToT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137466 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/DAGCombiner.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index b8c34b42bc..51aca66eef 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -213,7 +213,6 @@ namespace { SDValue visitLOAD(SDNode *N); SDValue visitSTORE(SDNode *N); SDValue visitINSERT_VECTOR_ELT(SDNode *N); - SDValue visitINSERT_SUBVECTOR(SDNode *N); SDValue visitEXTRACT_VECTOR_ELT(SDNode *N); SDValue visitBUILD_VECTOR(SDNode *N); SDValue visitCONCAT_VECTORS(SDNode *N); @@ -1103,7 +1102,6 @@ SDValue DAGCombiner::visit(SDNode *N) { case ISD::LOAD: return visitLOAD(N); case ISD::STORE: return visitSTORE(N); case ISD::INSERT_VECTOR_ELT: return visitINSERT_VECTOR_ELT(N); - case ISD::INSERT_SUBVECTOR: return visitINSERT_SUBVECTOR(N); case ISD::EXTRACT_VECTOR_ELT: return visitEXTRACT_VECTOR_ELT(N); case ISD::BUILD_VECTOR: return visitBUILD_VECTOR(N); case ISD::CONCAT_VECTORS: return visitCONCAT_VECTORS(N); @@ -7138,36 +7136,6 @@ SDValue DAGCombiner::visitMEMBARRIER(SDNode* N) { } } -SDValue DAGCombiner::visitINSERT_SUBVECTOR(SDNode* N) { - DebugLoc dl = N->getDebugLoc(); - EVT VT = N->getValueType(0); - // When inserting a subvector into a vector, make sure to start - // inserting starting the Zero index. This will allow making the - // first insertion using a subreg insertion, and save a register. - SDValue V = N->getOperand(0); - if (V->getOpcode() == ISD::INSERT_SUBVECTOR && V->hasOneUse()) { - ConstantSDNode *N_Idx = dyn_cast<ConstantSDNode>(N->getOperand(2)); - ConstantSDNode *V_Idx = dyn_cast<ConstantSDNode>(V->getOperand(2)); - uint64_t Nc = N_Idx->getZExtValue(); - uint64_t Vc = V_Idx->getZExtValue(); - - // Reorder insertion to vector - if (Nc < Vc) { - SDValue NewV = DAG.getNode(ISD::INSERT_SUBVECTOR, dl, VT, - V->getOperand(0), - N->getOperand(1), - N->getOperand(2)); - return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, VT, - NewV, - V->getOperand(1), - V->getOperand(2)); - } - } - - return SDValue(); -} - - /// XformToShuffleWithZero - Returns a vector_shuffle if it able to transform /// an AND to a vector_shuffle with the destination vector and a zero vector. /// e.g. AND V, <0xffffffff, 0, 0xffffffff, 0>. ==> |