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

Nate Begeman natebegeman at mac.com
Fri Mar 25 17:29:35 PST 2005



Changes in directory llvm/lib/CodeGen/SelectionDAG:

LegalizeDAG.cpp updated: 1.61 -> 1.62
SelectionDAGISel.cpp updated: 1.33 -> 1.34
---
Log message:

Change interface to LowerCallTo to take a boolean isVarArg argument.


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

 LegalizeDAG.cpp      |    6 +++---
 SelectionDAGISel.cpp |    9 ++++++---
 2 files changed, 9 insertions(+), 6 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.61 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.62
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.61	Tue Feb 22 01:23:39 2005
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp	Fri Mar 25 19:29:23 2005
@@ -786,7 +786,7 @@
         assert(0 && "Unknown op!");
       }
       std::pair<SDOperand,SDOperand> CallResult =
-        TLI.LowerCallTo(Tmp1, Type::VoidTy,
+        TLI.LowerCallTo(Tmp1, Type::VoidTy, false,
                         DAG.getExternalSymbol(FnName, IntPtr), Args, DAG);
       Result = LegalizeOp(CallResult.second);
       break;
@@ -1473,7 +1473,7 @@
   // node as our input and ignore the output chain.  This allows us to place
   // calls wherever we need them to satisfy data dependences.
   const Type *RetTy = MVT::getTypeForValueType(Node->getValueType(0));
-  SDOperand Result = TLI.LowerCallTo(InChain, RetTy, Callee,
+  SDOperand Result = TLI.LowerCallTo(InChain, RetTy, false, Callee,
                                      Args, DAG).first;
   switch (getTypeAction(Result.getValueType())) {
   default: assert(0 && "Unknown thing");
@@ -1527,7 +1527,7 @@
   // node as our input and ignore the output chain.  This allows us to place
   // calls wherever we need them to satisfy data dependences.
   const Type *RetTy = MVT::getTypeForValueType(DestTy);
-  return TLI.LowerCallTo(InChain, RetTy, Callee, Args, DAG).first;
+  return TLI.LowerCallTo(InChain, RetTy, false, Callee, Args, DAG).first;
                          
 }
                    


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.33 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.34
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.33	Mon Mar 14 22:54:19 2005
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp	Fri Mar 25 19:29:23 2005
@@ -670,8 +670,11 @@
     Args.push_back(std::make_pair(ArgNode, Arg->getType()));
   }
   
+  const PointerType *PT = cast<PointerType>(I.getCalledValue()->getType());
+  const FunctionType *FTy = cast<FunctionType>(PT->getElementType());
+  
   std::pair<SDOperand,SDOperand> Result =
-    TLI.LowerCallTo(getRoot(), I.getType(), Callee, Args, DAG);
+    TLI.LowerCallTo(getRoot(), I.getType(), FTy->isVarArg(), Callee, Args, DAG);
   if (I.getType() != Type::VoidTy)
     setValue(&I, Result.first);
   DAG.setRoot(Result.second);
@@ -696,7 +699,7 @@
   Args.push_back(std::make_pair(Src, TLI.getTargetData().getIntPtrType()));
 
   std::pair<SDOperand,SDOperand> Result =
-    TLI.LowerCallTo(getRoot(), I.getType(),
+    TLI.LowerCallTo(getRoot(), I.getType(), false, 
                     DAG.getExternalSymbol("malloc", IntPtr),
                     Args, DAG);
   setValue(&I, Result.first);  // Pointers always fit in registers
@@ -709,7 +712,7 @@
                                 TLI.getTargetData().getIntPtrType()));
   MVT::ValueType IntPtr = TLI.getPointerTy();
   std::pair<SDOperand,SDOperand> Result =
-    TLI.LowerCallTo(getRoot(), Type::VoidTy,
+    TLI.LowerCallTo(getRoot(), Type::VoidTy, false,
                     DAG.getExternalSymbol("free", IntPtr), Args, DAG);
   DAG.setRoot(Result.second);
 }






More information about the llvm-commits mailing list