summaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/CGCall.h
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-05-02 18:05:27 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-05-02 18:05:27 +0000
commitc6d07821c529bb95e4cf072e49b736c5142f1786 (patch)
tree86fbd00536f7c79d816924f39c0b0907e548cbf6 /lib/CodeGen/CGCall.h
parent04c9a49ee251424b11d7c4e8b1c23637684cecb6 (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.h12
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));
}
};