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
9extern "C" {
10
11#include "InstrProfiling.h"
12
13static 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 */
23COMPILER_RT_VISIBILITY int INSTR_PROF_PROFILE_RUNTIME_VAR = RegisterRuntime();
24}
25

source code of compiler-rt/lib/profile/InstrProfilingRuntime.cpp