1 //===- InstrProfilingRuntime.cpp - PGO runtime initialization -------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 extern "C" { 11 12 #include "InstrProfiling.h" 13 14 __attribute__((visibility("hidden"))) int __llvm_profile_runtime; 15 16 } 17 18 namespace { 19 20 class RegisterRuntime { 21 public: RegisterRuntime()22 RegisterRuntime() { 23 __llvm_profile_register_write_file_atexit(); 24 __llvm_profile_initialize_file(); 25 } 26 }; 27 28 RegisterRuntime Registration; 29 30 } 31