diff options
Diffstat (limited to 'lib/profile/InstrProfilingRuntime.cpp')
-rw-r--r-- | lib/profile/InstrProfilingRuntime.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/profile/InstrProfilingRuntime.cpp b/lib/profile/InstrProfilingRuntime.cpp new file mode 100644 index 000000000000..679186ef8309 --- /dev/null +++ b/lib/profile/InstrProfilingRuntime.cpp @@ -0,0 +1,29 @@ +//===- InstrProfilingRuntime.cpp - PGO runtime initialization -------------===// +// +// 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 +// +//===----------------------------------------------------------------------===// + +extern "C" { + +#include "InstrProfiling.h" + +/* int __llvm_profile_runtime */ +COMPILER_RT_VISIBILITY int INSTR_PROF_PROFILE_RUNTIME_VAR; +} + +namespace { + +class RegisterRuntime { +public: + RegisterRuntime() { + __llvm_profile_register_write_file_atexit(); + __llvm_profile_initialize_file(); + } +}; + +RegisterRuntime Registration; + +} |