[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAG.h

Chris Lattner lattner at cs.uiuc.edu
Wed Jan 19 12:20:13 PST 2005



Changes in directory llvm/include/llvm/CodeGen:

SelectionDAG.h updated: 1.16 -> 1.17
---
Log message:

Add an accessor for targets that pass args in regs


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

Index: llvm/include/llvm/CodeGen/SelectionDAG.h
diff -u llvm/include/llvm/CodeGen/SelectionDAG.h:1.16 llvm/include/llvm/CodeGen/SelectionDAG.h:1.17
--- llvm/include/llvm/CodeGen/SelectionDAG.h:1.16	Tue Jan 18 13:26:18 2005
+++ llvm/include/llvm/CodeGen/SelectionDAG.h	Wed Jan 19 14:19:58 2005
@@ -131,6 +131,20 @@
     return NN;
   }
 
+  /// getCall - This is identical to the one above, and should be used for calls
+  /// where arguments are passed in physical registers.  This destroys the
+  /// RetVals and ArgsInRegs vectors.
+  SDNode *getCall(std::vector<MVT::ValueType> &RetVals, SDOperand Chain,
+                  SDOperand Callee, std::vector<SDOperand> &ArgsInRegs) {
+    ArgsInRegs.insert(ArgsInRegs.begin(), Callee);
+    ArgsInRegs.insert(ArgsInRegs.begin(), Chain);
+    SDNode *NN = new SDNode(ISD::CALL, ArgsInRegs);
+    NN->setValueTypes(RetVals);
+    AllNodes.push_back(NN);
+    return NN;
+  }
+
+
   SDOperand getSetCC(ISD::CondCode, MVT::ValueType VT,
                      SDOperand LHS, SDOperand RHS);
 






More information about the llvm-commits mailing list