Add a method
authorChris Lattner <sabre@nondot.org>
Mon, 13 Feb 2006 08:54:46 +0000 (08:54 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 13 Feb 2006 08:54:46 +0000 (08:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26141 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAG.h

index df695010bf1a7cd3488b2b492d5bda458dcc94a5..f928c6be6b3b7b39df47bfa6d7581cf1c823c562 100644 (file)
@@ -196,6 +196,18 @@ public:
   /// getZeroExtendInReg - Return the expression required to zero extend the Op
   /// value assuming it was the smaller SrcTy value.
   SDOperand getZeroExtendInReg(SDOperand Op, MVT::ValueType SrcTy);
+  
+  /// getCALLSEQ_START - Return a new CALLSEQ_START node, which always must have
+  /// a flag result (to ensure it's not CSE'd).
+  SDOperand getCALLSEQ_START(SDOperand Chain, SDOperand Op) {
+    std::vector<MVT::ValueType> ResultTys;
+    ResultTys.push_back(MVT::Other);
+    ResultTys.push_back(MVT::Flag);
+    std::vector<SDOperand> Ops;
+    Ops.push_back(Chain);
+    Ops.push_back(Op);
+    return getNode(ISD::CALLSEQ_START, ResultTys, Ops);
+  }
 
   /// getNode - Gets or creates the specified node.
   ///