1 /*===- InstrProfilingInternal.c - Support library for PGO instrumentation -===*\
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 // Note: This is linked into the Darwin kernel, and must remain compatible
10 // with freestanding compilation. See `darwin_add_builtin_libraries`.
11 
12 #if !defined(__Fuchsia__)
13 
14 #include "InstrProfilingInternal.h"
15 
16 static unsigned ProfileDumped = 0;
17 
18 COMPILER_RT_VISIBILITY unsigned lprofProfileDumped() {
19   return ProfileDumped;
20 }
21 
22 COMPILER_RT_VISIBILITY void lprofSetProfileDumped(unsigned Value) {
23   ProfileDumped = Value;
24 }
25 
26 static unsigned RuntimeCounterRelocation = 0;
27 
28 COMPILER_RT_VISIBILITY unsigned lprofRuntimeCounterRelocation(void) {
29   return RuntimeCounterRelocation;
30 }
31 
32 COMPILER_RT_VISIBILITY void lprofSetRuntimeCounterRelocation(unsigned Value) {
33   RuntimeCounterRelocation = Value;
34 }
35 
36 #endif
37