diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-02-03 06:51:18 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-02-03 06:51:18 +0000 |
commit | 6bad2658b48264629db595f944a3fbe07f61b4e9 (patch) | |
tree | e4915bbb928b0e097b575551f5c713f00bb2f3df /lib/CodeGen/ABIInfo.h | |
parent | 0bcc52114e37a8d152d9a05095ee7f7687c9aa94 (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.h | 17 |
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 |