]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingRuntime.cpp
Unbreak DRM KMS build by adding the needed compatibility field in the LinuxKPI.
[FreeBSD/FreeBSD.git] / contrib / llvm-project / compiler-rt / lib / profile / InstrProfilingRuntime.cpp
1 //===- InstrProfilingRuntime.cpp - PGO runtime initialization -------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8
9 extern "C" {
10
11 #include "InstrProfiling.h"
12
13 /* int __llvm_profile_runtime  */
14 COMPILER_RT_VISIBILITY int INSTR_PROF_PROFILE_RUNTIME_VAR;
15 }
16
17 namespace {
18
19 class RegisterRuntime {
20 public:
21   RegisterRuntime() {
22     __llvm_profile_initialize_file();
23     if (!__llvm_profile_is_continuous_mode_enabled())
24       __llvm_profile_register_write_file_atexit();
25   }
26 };
27
28 RegisterRuntime Registration;
29
30 }