Add utility to append a function to the list of global constructors.

Patch by Kostya Serebryany.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143405 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel
2011-10-31 23:58:51 +00:00
parent 11f9987876
commit 2ad3f93b5f
3 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,30 @@
//===-- ModuleUtils.h - Functions to manipulate Modules ---------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This family of functions perform manipulations on Modules.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_TRANSFORMS_UTILS_MODULE_UTILS_H
#define LLVM_TRANSFORMS_UTILS_MODULE_UTILS_H
namespace llvm {
class Module;
class Function;
/// Append F to the list of global ctors of module M with the given Priority.
/// This wraps the function in the appropriate structure and stores it along
/// side other global constructors. For details see
/// http://llvm.org/docs/LangRef.html#intg_global_ctors
void appendToGlobalCtors(Module &M, Function *F, int Priority);
} // End llvm namespace
#endif // LLVM_TRANSFORMS_UTILS_MODULE_UTILS_H