summaryrefslogtreecommitdiffstats
path: root/llvm/lib/XRay/FDRTraceWriter.cpp
diff options
context:
space:
mode:
authorDean Michael Berris <dberris@google.com>2018-08-30 08:15:42 +0000
committerDean Michael Berris <dberris@google.com>2018-08-30 08:15:42 +0000
commitd859668c762b8744a075dd086cb45aa4befb81b0 (patch)
treead2e069d856b0751458e82b3f1195d3dae765a45 /llvm/lib/XRay/FDRTraceWriter.cpp
parent22dcddf6510ca540b380fdc04a02311b0e299c14 (diff)
downloadbcm5719-llvm-d859668c762b8744a075dd086cb45aa4befb81b0.tar.gz
bcm5719-llvm-d859668c762b8744a075dd086cb45aa4befb81b0.zip
[XRay] Move out template and use perfect forwarding
Follow up to D51210. llvm-svn: 341032
Diffstat (limited to 'llvm/lib/XRay/FDRTraceWriter.cpp')
-rw-r--r--llvm/lib/XRay/FDRTraceWriter.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/XRay/FDRTraceWriter.cpp b/llvm/lib/XRay/FDRTraceWriter.cpp
index 117b3f3ad91..0fbfba613c6 100644
--- a/llvm/lib/XRay/FDRTraceWriter.cpp
+++ b/llvm/lib/XRay/FDRTraceWriter.cpp
@@ -65,11 +65,12 @@ template <size_t Index> struct IndexedMemcpy {
};
template <uint8_t Kind, class... Data>
-Error writeMetadata(raw_ostream &OS, Data... Ds) {
+Error writeMetadata(raw_ostream &OS, Data&&... Ds) {
MetadataBlob B;
B.Type = 1;
B.RecordKind = Kind;
- IndexedMemcpy<0>::Copy(B.Data, std::make_tuple(Ds...));
+ auto T = std::make_tuple(std::forward<Data>(std::move(Ds))...);
+ IndexedMemcpy<0>::Copy(B.Data, T);
OS.write(reinterpret_cast<const char *>(&B), sizeof(MetadataBlob));
return Error::success();
}
OpenPOWER on IntegriCloud