[llvm] r328287 - [DAG] Fix node id invalidation in Instruction Selection.

Nirav Dave via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 22 18:22:39 PDT 2018


Author: niravd
Date: Thu Mar 22 18:22:39 2018
New Revision: 328287

URL: http://llvm.org/viewvc/llvm-project?rev=328287&view=rev
Log:
[DAG] Fix node id invalidation in Instruction Selection.

Invalidation should be bit negation. Add missing negation.

Modified:
    llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp?rev=328287&r1=328286&r2=328287&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Thu Mar 22 18:22:39 2018
@@ -1000,15 +1000,15 @@ void SelectionDAGISel::EnforceNodeIdInva
 // NodeId with the equivalent node id which is invalid for topological
 // pruning.
 void SelectionDAGISel::InvalidateNodeId(SDNode *N) {
-  int InvalidId = -N->getNodeId() + 1;
+  int InvalidId = -(N->getNodeId() + 1);
   N->setNodeId(InvalidId);
 }
 
 // getUninvalidatedNodeId - get original uninvalidated node id.
 int SelectionDAGISel::getUninvalidatedNodeId(SDNode *N) {
   int Id = N->getNodeId();
-  if (Id < 0)
-    return -Id + 1;
+  if (Id < -1)
+    return -(Id + 1);
   return Id;
 }
 




More information about the llvm-commits mailing list