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.
   ///