diff options
author | Dean Michael Berris <dberris@google.com> | 2018-08-30 08:15:42 +0000 |
---|---|---|
committer | Dean Michael Berris <dberris@google.com> | 2018-08-30 08:15:42 +0000 |
commit | d859668c762b8744a075dd086cb45aa4befb81b0 (patch) | |
tree | ad2e069d856b0751458e82b3f1195d3dae765a45 /llvm/lib/XRay/FDRTraceWriter.cpp | |
parent | 22dcddf6510ca540b380fdc04a02311b0e299c14 (diff) | |
download | bcm5719-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.cpp | 5 |
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(); } |