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