aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target/TargetLowering.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Target/TargetLowering.h')
-rw-r--r--include/llvm/Target/TargetLowering.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index 9d7a1ec..e8f8c12 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -41,6 +41,7 @@ namespace llvm {
class MachineBasicBlock;
class MachineInstr;
class VectorType;
+ class TargetSubtarget;
//===----------------------------------------------------------------------===//
/// TargetLowering - This class defines information used to lower LLVM code to
@@ -845,6 +846,9 @@ protected:
public:
+ virtual const TargetSubtarget *getSubtarget() {
+ assert(0 && "Not Implemented");
+ }
//===--------------------------------------------------------------------===//
// Lowering methods - These methods must be implemented by targets so that
// the SelectionDAGLowering code knows how to lower these.
@@ -878,6 +882,18 @@ public:
bool isVarArg, unsigned CallingConv, bool isTailCall,
SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG);
+
+ virtual SDOperand LowerMEMCPY(SDOperand Op, SelectionDAG &DAG);
+ virtual SDOperand LowerMEMCPYCall(SDOperand Chain, SDOperand Dest,
+ SDOperand Source, SDOperand Count,
+ SelectionDAG &DAG);
+ virtual SDOperand LowerMEMCPYInline(SDOperand Chain, SDOperand Dest,
+ SDOperand Source, unsigned Size,
+ unsigned Align, SelectionDAG &DAG) {
+ assert(0 && "Not Implemented");
+ }
+
+
/// LowerOperation - This callback is invoked for operations that are
/// unsupported by the target, which are registered to use 'custom' lowering,
/// and whose defined values are all legal.