summaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/ABIInfo.h
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-02-03 06:51:18 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-02-03 06:51:18 +0000
commit6bad2658b48264629db595f944a3fbe07f61b4e9 (patch)
treee4915bbb928b0e097b575551f5c713f00bb2f3df /lib/CodeGen/ABIInfo.h
parent0bcc52114e37a8d152d9a05095ee7f7687c9aa94 (diff)
Change ABIInfo to compute information for a full signature at a time
(the main point of this restructing). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63619 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/ABIInfo.h')
-rw-r--r--lib/CodeGen/ABIInfo.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/CodeGen/ABIInfo.h b/lib/CodeGen/ABIInfo.h
index 83348d2765..a2d80ed78c 100644
--- a/lib/CodeGen/ABIInfo.h
+++ b/lib/CodeGen/ABIInfo.h
@@ -15,6 +15,14 @@ namespace llvm {
}
namespace clang {
+ class ASTContext;
+
+ // FIXME: This is a layering issue if we want to move ABIInfo
+ // down. Fortunately CGFunctionInfo has no real tie to CodeGen.
+ namespace CodeGen {
+ class CGFunctionInfo;
+ }
+
/* FIXME: All of this stuff should be part of the target interface
somehow. It is currently here because it is not clear how to factor
the targets to support this, since the Targets currently live in a
@@ -112,12 +120,9 @@ namespace clang {
class ABIInfo {
public:
virtual ~ABIInfo();
-
- virtual ABIArgInfo classifyReturnType(QualType RetTy,
- ASTContext &Context) const = 0;
-
- virtual ABIArgInfo classifyArgumentType(QualType Ty,
- ASTContext &Context) const = 0;
+
+ virtual void computeInfo(CodeGen::CGFunctionInfo &FI,
+ ASTContext &Ctx) const = 0;
};
} // end namespace clang