Re-land "[XRay] Move-only Allocator, FunctionCallTrie, and Array"
authorDean Michael Berris <dberris@google.com>
Fri, 7 Dec 2018 03:19:13 +0000 (03:19 +0000)
committerDean Michael Berris <dberris@google.com>
Fri, 7 Dec 2018 03:19:13 +0000 (03:19 +0000)
commit190c49bc8fd73dab0412dce3b85f50949184d5b5
tree48d96905bb1adae78bab4a37f0e28946d242769a
parentb2a6f8e505b105c733d931e1ed0513d7ea94f6c8
Re-land "[XRay] Move-only Allocator, FunctionCallTrie, and Array"

This reverts commit r348455, with some additional changes:

- Work-around deficiency of gcc-4.8 by duplicating the implementation of
  `AppendEmplace` in `Append`, but instead of using brace-init for the
  copy construction, use a placement new explicitly calling the copy
  constructor.

llvm-svn: 348563
compiler-rt/lib/xray/tests/unit/function_call_trie_test.cc
compiler-rt/lib/xray/tests/unit/segmented_array_test.cc
compiler-rt/lib/xray/xray_allocator.h
compiler-rt/lib/xray/xray_function_call_trie.h
compiler-rt/lib/xray/xray_profile_collector.cc
compiler-rt/lib/xray/xray_profiling.cc
compiler-rt/lib/xray/xray_segmented_array.h