diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-05-02 18:05:27 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-05-02 18:05:27 +0000 |
commit | c6d07821c529bb95e4cf072e49b736c5142f1786 (patch) | |
tree | 86fbd00536f7c79d816924f39c0b0907e548cbf6 /lib/CodeGen/CGCall.h | |
parent | 04c9a49ee251424b11d7c4e8b1c23637684cecb6 (diff) |
Switch CallArgList from an std::pair to a new CallArg struct (which will eventually gain more members). Working towards modifying call emission to avoid unnecessary copies.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130700 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGCall.h')
-rw-r--r-- | lib/CodeGen/CGCall.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/CodeGen/CGCall.h b/lib/CodeGen/CGCall.h index f5a84ec99f..3f600c04e5 100644 --- a/lib/CodeGen/CGCall.h +++ b/lib/CodeGen/CGCall.h @@ -44,13 +44,21 @@ namespace clang { namespace CodeGen { typedef llvm::SmallVector<llvm::AttributeWithIndex, 8> AttributeListType; + struct CallArg { + RValue RV; + QualType Ty; + CallArg(RValue rv, QualType ty) + : RV(rv), Ty(ty) + { } + }; + /// CallArgList - Type for representing both the value and type of /// arguments in a call. class CallArgList : - public llvm::SmallVector<std::pair<RValue, QualType>, 16> { + public llvm::SmallVector<CallArg, 16> { public: void add(RValue rvalue, QualType type) { - push_back(std::pair<RValue,QualType>(rvalue,type)); + push_back(CallArg(rvalue, type)); } }; |