[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp SelectionDAG.cpp SelectionDAGISel.cpp

Andrew Lenharth alenhar2 at cs.uiuc.edu
Fri Nov 11 08:46:31 PST 2005



Changes in directory llvm/lib/CodeGen/SelectionDAG:

LegalizeDAG.cpp updated: 1.206 -> 1.207
SelectionDAG.cpp updated: 1.211 -> 1.212
SelectionDAGISel.cpp updated: 1.97 -> 1.98
---
Log message:

continued readcyclecounter support

---
Diffs of the changes:  (+9 -0)

 LegalizeDAG.cpp      |    5 +++++
 SelectionDAG.cpp     |    1 +
 SelectionDAGISel.cpp |    3 +++
 3 files changed, 9 insertions(+)


Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.206 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.207
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.206	Wed Nov  9 17:47:37 2005
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp	Fri Nov 11 10:46:18 2005
@@ -1122,6 +1122,11 @@
     if (Tmp1 != Node->getOperand(0))
       Result = DAG.getNode(ISD::PCMARKER, MVT::Other, Tmp1,Node->getOperand(1));
     break;
+  case ISD::READCYCLECOUNTER:
+    Tmp1 = LegalizeOp(Node->getOperand(0)); // Legalize the chain
+    if (Tmp1 != Node->getOperand(0))
+      Result = DAG.getNode(ISD::READCYCLECOUNTER, MVT::i64, Tmp1);
+    break;
   case ISD::TRUNCSTORE:
     Tmp1 = LegalizeOp(Node->getOperand(0));  // Legalize the chain.
     Tmp3 = LegalizeOp(Node->getOperand(2));  // Legalize the pointer.


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.211 llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.212
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.211	Wed Nov  9 17:47:37 2005
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp	Fri Nov 11 10:46:18 2005
@@ -1624,6 +1624,7 @@
     }
    
   case ISD::PCMARKER:      return "PCMarker";
+  case ISD::READCYCLECOUNTER: return "ReadCycleCounter";
   case ISD::SRCVALUE:      return "SrcValue";
   case ISD::VALUETYPE:     return "ValueType";
   case ISD::EntryToken:    return "EntryToken";


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.97 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.98
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.97	Wed Nov  9 13:44:01 2005
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp	Fri Nov 11 10:46:18 2005
@@ -804,6 +804,9 @@
     DAG.setRoot(DAG.getNode(ISD::PCMARKER, MVT::Other, getRoot(), Tmp));
     return 0;
   }
+  case Intrinsic::readcyclecounter: 
+    setValue(&I, DAG.getNode(ISD::READCYCLECOUNTER, MVT::i64, getRoot()));
+    return 0;
   case Intrinsic::cttz:
     setValue(&I, DAG.getNode(ISD::CTTZ,
                              getValue(I.getOperand(1)).getValueType(),






More information about the llvm-commits mailing list