[llvm-commits] CVS: llvm/include/llvm/Target/TargetLowering.h
Chris Lattner
lattner at cs.uiuc.edu
Tue Jul 5 12:57:28 PDT 2005
Changes in directory llvm/include/llvm/Target:
TargetLowering.h updated: 1.15 -> 1.16
---
Log message:
Make several cleanups to Andrews varargs change:
1. Pass Value*'s into lowering methods so that the proper pointers can be
added to load/stores from the valist
2. Intrinsics that return void should only return a token chain, not a token
chain/retval pair.
3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone.
---
Diffs of the changes: (+18 -13)
TargetLowering.h | 31 ++++++++++++++++++-------------
1 files changed, 18 insertions(+), 13 deletions(-)
Index: llvm/include/llvm/Target/TargetLowering.h
diff -u llvm/include/llvm/Target/TargetLowering.h:1.15 llvm/include/llvm/Target/TargetLowering.h:1.16
--- llvm/include/llvm/Target/TargetLowering.h:1.15 Sat Jun 18 13:31:30 2005
+++ llvm/include/llvm/Target/TargetLowering.h Tue Jul 5 14:57:17 2005
@@ -26,6 +26,7 @@
#include <vector>
namespace llvm {
+ class Value;
class Function;
class TargetMachine;
class TargetData;
@@ -266,25 +267,29 @@
ArgListTy &Args, SelectionDAG &DAG) = 0;
/// LowerVAStart - This lowers the llvm.va_start intrinsic. If not
- /// implemented, this method prints a message and aborts.
- virtual std::pair<SDOperand, SDOperand>
- LowerVAStart(SDOperand Chain, SelectionDAG &DAG, SDOperand Dest);
+ /// implemented, this method prints a message and aborts. This method should
+ /// return the modified chain value. Note that VAListPtr* correspond to the
+ /// llvm.va_start operand.
+ virtual SDOperand LowerVAStart(SDOperand Chain, SDOperand VAListP,
+ Value *VAListV, SelectionDAG &DAG);
/// LowerVAEnd - This lowers llvm.va_end and returns the resultant chain. If
/// not implemented, this defaults to a noop.
- virtual SDOperand LowerVAEnd(SDOperand Chain, SDOperand L, SelectionDAG &DAG);
+ virtual SDOperand LowerVAEnd(SDOperand Chain, SDOperand LP, Value *LV,
+ SelectionDAG &DAG);
- /// LowerVACopy - This lowers llvm.va_copy and returns the resultant
- /// value/chain pair. If not implemented, this defaults to returning the
- /// input operand.
- virtual std::pair<SDOperand,SDOperand>
- LowerVACopy(SDOperand Chain, SDOperand Src, SDOperand Dest, SelectionDAG &DAG);
+ /// LowerVACopy - This lowers llvm.va_copy and returns the resultant chain.
+ /// If not implemented, this defaults to loading a pointer from the input and
+ /// storing it to the output.
+ virtual SDOperand LowerVACopy(SDOperand Chain, SDOperand SrcP, Value *SrcV,
+ SDOperand DestP, Value *DestV,
+ SelectionDAG &DAG);
- /// LowerVAArgNext - This lowers the instruction
- /// If not implemented, this prints a message and aborts.
+ /// LowerVAArg - This lowers the vaarg instruction. If not implemented, this
+ /// prints a message and aborts.
virtual std::pair<SDOperand,SDOperand>
- LowerVAArgNext(SDOperand Chain, SDOperand VAList,
- const Type *ArgTy, SelectionDAG &DAG);
+ LowerVAArg(SDOperand Chain, SDOperand VAListP, Value *VAListV,
+ const Type *ArgTy, SelectionDAG &DAG);
/// LowerFrameReturnAddress - This hook lowers a call to llvm.returnaddress or
/// llvm.frameaddress (depending on the value of the first argument). The
More information about the llvm-commits
mailing list