Add support for byval function whose argument is not 32 bit aligned.
To do this it is necessary to add a "always inline" argument to the
memcpy node. For completeness I have also added this node to memmove
and memset. I have also added getMem* functions, because the extra
argument makes it cumbersome to use getNode and because I get confused
by it :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43172 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index 76ed7f6..6a66d03 100644
--- a/include/llvm/CodeGen/SelectionDAG.h
+++ b/include/llvm/CodeGen/SelectionDAG.h
@@ -307,7 +307,19 @@
SDOperand N5);
SDOperand getNode(unsigned Opcode, SDVTList VTs,
const SDOperand *Ops, unsigned NumOps);
-
+
+ SDOperand getMemcpy(SDOperand Chain, SDOperand Dest, SDOperand Src,
+ SDOperand Size, SDOperand Align,
+ SDOperand AlwaysInline);
+
+ SDOperand getMemmove(SDOperand Chain, SDOperand Dest, SDOperand Src,
+ SDOperand Size, SDOperand Align,
+ SDOperand AlwaysInline);
+
+ SDOperand getMemset(SDOperand Chain, SDOperand Dest, SDOperand Src,
+ SDOperand Size, SDOperand Align,
+ SDOperand AlwaysInline);
+
/// getSetCC - Helper function to make it easier to build SetCC's if you just
/// have an ISD::CondCode instead of an SDOperand.
///