1//===-- StripDeadPrototypes.h - Remove unused function declarations -------===//
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 pass loops over all of the functions in the input module, looking for
11// dead declarations and removes them. Dead declarations are declarations of
12// functions for which no implementation is available (i.e., declarations for
13// unused library functions).
14//
15//===----------------------------------------------------------------------===//
16
17#ifndef LLVM_TRANSFORMS_IPO_STRIPDEADPROTOTYPES_H
18#define LLVM_TRANSFORMS_IPO_STRIPDEADPROTOTYPES_H
19
20#include "llvm/IR/Module.h"
21#include "llvm/IR/PassManager.h"
22
23namespace llvm {
24
25/// Pass to remove unused function declarations.
26class StripDeadPrototypesPass {
27public:
28  static StringRef name() { return "StripDeadPrototypesPass"; }
29  PreservedAnalyses run(Module &M);
30};
31
32}
33
34#endif // LLVM_TRANSFORMS_IPO_STRIPDEADPROTOTYPES_H
35