]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/include/llvm/Transforms/Utils/ModuleUtils.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / include / llvm / Transforms / Utils / ModuleUtils.h
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