1 //===-- ModuleUtils.h - Functions to manipulate Modules ---------*- C++ -*-===// 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 // This family of functions perform manipulations on Modules. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_TRANSFORMS_UTILS_MODULEUTILS_H 15 #define LLVM_TRANSFORMS_UTILS_MODULEUTILS_H 16 17 namespace llvm { 18 19 class Module; 20 class Function; 21 22 /// Append F to the list of global ctors of module M with the given Priority. 23 /// This wraps the function in the appropriate structure and stores it along 24 /// side other global constructors. For details see 25 /// http://llvm.org/docs/LangRef.html#intg_global_ctors 26 void appendToGlobalCtors(Module &M, Function *F, int Priority); 27 28 /// Same as appendToGlobalCtors(), but for global dtors. 29 void appendToGlobalDtors(Module &M, Function *F, int Priority); 30 31 } // End llvm namespace 32 33 #endif // LLVM_TRANSFORMS_UTILS_MODULEUTILS_H 34