StripDeadPrototypes.h revision 292915
1292915Sdim//===-- StripDeadPrototypes.h - Remove unused function declarations -------===//
2292915Sdim//
3292915Sdim//                     The LLVM Compiler Infrastructure
4292915Sdim//
5292915Sdim// This file is distributed under the University of Illinois Open Source
6292915Sdim// License. See LICENSE.TXT for details.
7292915Sdim//
8292915Sdim//===----------------------------------------------------------------------===//
9292915Sdim//
10292915Sdim// This pass loops over all of the functions in the input module, looking for
11292915Sdim// dead declarations and removes them. Dead declarations are declarations of
12292915Sdim// functions for which no implementation is available (i.e., declarations for
13292915Sdim// unused library functions).
14292915Sdim//
15292915Sdim//===----------------------------------------------------------------------===//
16292915Sdim
17292915Sdim#ifndef LLVM_TRANSFORMS_IPO_STRIPDEADPROTOTYPES_H
18292915Sdim#define LLVM_TRANSFORMS_IPO_STRIPDEADPROTOTYPES_H
19292915Sdim
20292915Sdim#include "llvm/IR/Module.h"
21292915Sdim#include "llvm/IR/PassManager.h"
22292915Sdim
23292915Sdimnamespace llvm {
24292915Sdim
25292915Sdim/// Pass to remove unused function declarations.
26292915Sdimclass StripDeadPrototypesPass {
27292915Sdimpublic:
28292915Sdim  static StringRef name() { return "StripDeadPrototypesPass"; }
29292915Sdim  PreservedAnalyses run(Module &M);
30292915Sdim};
31292915Sdim
32292915Sdim}
33292915Sdim
34292915Sdim#endif // LLVM_TRANSFORMS_IPO_STRIPDEADPROTOTYPES_H
35