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 | static int RegisterRuntime() { |
14 | __llvm_profile_initialize(); |
15 | #ifdef _AIX |
16 | extern COMPILER_RT_VISIBILITY void *__llvm_profile_keep[]; |
17 | (void)*(void *volatile *)__llvm_profile_keep; |
18 | #endif |
19 | return 0; |
20 | } |
21 | |
22 | /* int __llvm_profile_runtime */ |
23 | COMPILER_RT_VISIBILITY int INSTR_PROF_PROFILE_RUNTIME_VAR = RegisterRuntime(); |
24 | } |
25 | |