diff options
author | Nirav Dave <niravd@google.com> | 2018-03-17 19:24:54 +0000 |
---|---|---|
committer | Nirav Dave <niravd@google.com> | 2018-03-17 19:24:54 +0000 |
commit | f35e82f91d4f5c84fd6be2d1673935413dab3709 (patch) | |
tree | c29df49ec0d872d77b4fb0e68f383c327fac1419 /lib/Target/SystemZ | |
parent | f79c73681d8ef999c9e69b2e0a3285f6663cc611 (diff) |
Revert "[DAG, X86] Revert r327197 "Revert r327170, r327171, r327172""
as it times out building test-suite on PPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327778 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ')
-rw-r--r-- | lib/Target/SystemZ/SystemZISelDAGToDAG.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp b/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp index 6e2130828bb..9bf2474915c 100644 --- a/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp +++ b/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp @@ -596,13 +596,7 @@ static void insertDAGNode(SelectionDAG *DAG, SDNode *Pos, SDValue N) { if (N.getNode()->getNodeId() == -1 || N.getNode()->getNodeId() > Pos->getNodeId()) { DAG->RepositionNode(Pos->getIterator(), N.getNode()); - // Mark Node as invalid for pruning as after this it may be a successor to a - // selected node but otherwise be in the same position of Pos. - // Conservatively mark it with the same -abs(Id) to assure node id - // invariant is preserved. - int PId = Pos->getNodeId(); - int InvalidatedPId = -(PId + 1); - N->setNodeId((PId > 0) ? InvalidatedPId : PId); + N.getNode()->setNodeId(Pos->getNodeId()); } } @@ -1033,7 +1027,8 @@ bool SystemZDAGToDAGISel::tryRISBGZero(SDNode *N) { }; SDValue New = convertTo( DL, VT, SDValue(CurDAG->getMachineNode(Opcode, DL, OpcodeVT, Ops), 0)); - ReplaceNode(N, New.getNode()); + ReplaceUses(N, New.getNode()); + CurDAG->RemoveDeadNode(N); return true; } @@ -1124,7 +1119,8 @@ void SystemZDAGToDAGISel::splitLargeImmediate(unsigned Opcode, SDNode *Node, SDValue Lower = CurDAG->getConstant(LowerVal, DL, VT); SDValue Or = CurDAG->getNode(Opcode, DL, VT, Upper, Lower); - ReplaceNode(Node, Or.getNode()); + ReplaceUses(Node, Or.getNode()); + CurDAG->RemoveDeadNode(Node); SelectCode(Or.getNode()); } @@ -1622,3 +1618,4 @@ void SystemZDAGToDAGISel::PreprocessISelDAG() { if (MadeChange) CurDAG->RemoveDeadNodes(); } + |