Prepare the file to become IPO.h
[oota-llvm.git] / include / llvm / Transforms / IPO.h
1 //===- llvm/Transforms/IPO.h - Interprocedural Optimiations -----*- C++ -*-===//
2 //
3 //
4 //===----------------------------------------------------------------------===//
5
6 #ifndef LLVM_TRANSFORMS_IPO_H
7 #define LLVM_TRANSFORMS_IPO_H
8
9 class Pass;
10
11 //===----------------------------------------------------------------------===//
12 // createDeadTypeEliminationPass - Return a new pass that eliminates symbol
13 // table entries for types that are never used.
14 //
15 Pass *createDeadTypeEliminationPass();
16
17
18 //===----------------------------------------------------------------------===//
19 // FunctionResolvingPass - Go over the functions that are in the module and
20 // look for functions that have the same name.  More often than not, there will
21 // be things like:
22 //    void "foo"(...)
23 //    void "foo"(int, int)
24 // because of the way things are declared in C.  If this is the case, patch
25 // things up.
26 //
27 // This is an interprocedural pass.
28 //
29 Pass *createFunctionResolvingPass();
30
31 #endif