Tweak CGCall functions again:
- Realized these functions will eventually need access to more data,
moved to CodeGenModule. Eventually they should probably live
together in some other helper class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56039 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenModule.h b/lib/CodeGen/CodeGenModule.h
index bcb464b..4976e34 100644
--- a/lib/CodeGen/CodeGenModule.h
+++ b/lib/CodeGen/CodeGenModule.h
@@ -19,6 +19,8 @@
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/StringMap.h"
+#include "CGCall.h"
+
namespace llvm {
class Module;
class Constant;
@@ -215,6 +217,18 @@
void SetMethodAttributes(const ObjCMethodDecl *MD,
llvm::Function *F);
+ void SetFunctionParamAttrs(const CGFunctionInfo &Info,
+ llvm::Function *F);
+
+ /// ReturnTypeUsesSret - Return true iff the given type uses 'sret'
+ /// when used as a return type.
+ bool ReturnTypeUsesSret(QualType RetTy);
+
+ void ConstructParamAttrList(const Decl *TargetDecl,
+ const ArgTypeIterator begin,
+ const ArgTypeIterator end,
+ ParamAttrListType &PAL);
+
private:
/// SetFunctionAttributesForDefinition - Set function attributes
/// specific to a function definition.