Update prebuilt Clang to r365631c1 from Android.
The version we had was segfaulting.
Bug: 132420445
Change-Id: Icb45a6fe0b4e2166f7895e669df1157cec9fb4e0
diff --git a/linux-x64/clang/include/lldb/Utility/Timer.h b/linux-x64/clang/include/lldb/Utility/Timer.h
new file mode 100644
index 0000000..ad9421a
--- /dev/null
+++ b/linux-x64/clang/include/lldb/Utility/Timer.h
@@ -0,0 +1,74 @@
+//===-- Timer.h -------------------------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_Timer_h_
+#define liblldb_Timer_h_
+
+#include "lldb/lldb-defines.h"
+#include "llvm/Support/Chrono.h"
+#include <atomic>
+#include <stdint.h>
+
+namespace lldb_private {
+class Stream;
+
+/// \class Timer Timer.h "lldb/Utility/Timer.h"
+/// A timer class that simplifies common timing metrics.
+
+class Timer {
+public:
+ class Category {
+ public:
+ explicit Category(const char *category_name);
+
+ private:
+ friend class Timer;
+ const char *m_name;
+ std::atomic<uint64_t> m_nanos;
+ std::atomic<uint64_t> m_nanos_total;
+ std::atomic<uint64_t> m_count;
+ std::atomic<Category *> m_next;
+
+ DISALLOW_COPY_AND_ASSIGN(Category);
+ };
+
+ /// Default constructor.
+ Timer(Category &category, const char *format, ...)
+ __attribute__((format(printf, 3, 4)));
+
+ /// Destructor
+ ~Timer();
+
+ void Dump();
+
+ static void SetDisplayDepth(uint32_t depth);
+
+ static void SetQuiet(bool value);
+
+ static void DumpCategoryTimes(Stream *s);
+
+ static void ResetCategoryTimes();
+
+protected:
+ using TimePoint = std::chrono::steady_clock::time_point;
+ void ChildDuration(TimePoint::duration dur) { m_child_duration += dur; }
+
+ Category &m_category;
+ TimePoint m_total_start;
+ TimePoint::duration m_child_duration{0};
+
+ static std::atomic<bool> g_quiet;
+ static std::atomic<unsigned> g_display_depth;
+
+private:
+ DISALLOW_COPY_AND_ASSIGN(Timer);
+};
+
+} // namespace lldb_private
+
+#endif // liblldb_Timer_h_