summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2018-12-10 18:18:50 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2018-12-10 18:18:50 +0000
commitc73a955370efb71dba96c8c5ca8aed96f4cabf04 (patch)
treeff31a164d3ce7b8b0c5d1f17bb01e8d31f14c332
parent871f2b65c1bf689d6d94727dcf40709caaba01d9 (diff)
downloadbcm5719-llvm-c73a955370efb71dba96c8c5ca8aed96f4cabf04.tar.gz
bcm5719-llvm-c73a955370efb71dba96c8c5ca8aed96f4cabf04.zip
[DAGCombiner] Remove unnecessary recursive DAGCombiner::visitINSERT_SUBVECTOR call.
As discussed on D55511, this caused an issue if the inner node deletes a node that the outer node depends upon. As it doesn't affect any lit-tests and I've only been able to expose this with the D55511 change I'm committing this now. llvm-svn: 348781
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp6
1 files changed, 0 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 7a2eb7646ec..d6defa5dc0b 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -17717,12 +17717,6 @@ SDValue DAGCombiner::visitINSERT_SUBVECTOR(SDNode *N) {
if (N1.isUndef())
return N0;
- // For nested INSERT_SUBVECTORs, attempt to combine inner node first to allow
- // us to pull BITCASTs from input to output.
- if (N0.hasOneUse() && N0->getOpcode() == ISD::INSERT_SUBVECTOR)
- if (SDValue NN0 = visitINSERT_SUBVECTOR(N0.getNode()))
- return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, NN0, N1, N2);
-
// If this is an insert of an extracted vector into an undef vector, we can
// just use the input to the extract.
if (N0.isUndef() && N1.getOpcode() == ISD::EXTRACT_SUBVECTOR &&
OpenPOWER on IntegriCloud