X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=lib%2FTransforms%2FIPO%2FStripDeadPrototypes.cpp;h=f00830aadaad001adecdca26a2a82599dabeb8de;hp=7d03ae68abf68d9dd3614cbff156eb006a53c238;hb=0b8c9a80f20772c3793201ab5b251d3520b9cea3;hpb=4a6f363491c37e0a31f462e72d640d9d4c63177e diff --git a/lib/Transforms/IPO/StripDeadPrototypes.cpp b/lib/Transforms/IPO/StripDeadPrototypes.cpp index 7d03ae68abf..f00830aadaa 100644 --- a/lib/Transforms/IPO/StripDeadPrototypes.cpp +++ b/lib/Transforms/IPO/StripDeadPrototypes.cpp @@ -1,23 +1,24 @@ -//===-- StripDeadPrototypes.cpp - Removed unused function declarations ----===// +//===-- StripDeadPrototypes.cpp - Remove unused function declarations ----===// // // The LLVM Compiler Infrastructure // -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This pass loops over all of the functions in the input module, looking for -// dead declarations and removes them. +// dead declarations and removes them. Dead declarations are declarations of +// functions for which no implementation is available (i.e., declarations for +// unused library functions). // //===----------------------------------------------------------------------===// #define DEBUG_TYPE "strip-dead-prototypes" #include "llvm/Transforms/IPO.h" -#include "llvm/Pass.h" -#include "llvm/Module.h" #include "llvm/ADT/Statistic.h" -#include "llvm/Support/Compiler.h" +#include "llvm/IR/Module.h" +#include "llvm/Pass.h" using namespace llvm; STATISTIC(NumDeadPrototypes, "Number of dead prototypes removed"); @@ -25,16 +26,21 @@ STATISTIC(NumDeadPrototypes, "Number of dead prototypes removed"); namespace { /// @brief Pass to remove unused function declarations. -class VISIBILITY_HIDDEN StripDeadPrototypesPass : public ModulePass { +class StripDeadPrototypesPass : public ModulePass { public: - StripDeadPrototypesPass() { } + static char ID; // Pass identification, replacement for typeid + StripDeadPrototypesPass() : ModulePass(ID) { + initializeStripDeadPrototypesPassPass(*PassRegistry::getPassRegistry()); + } virtual bool runOnModule(Module &M); }; -RegisterPass X("strip-dead-prototypes", - "Strip Unused Function Prototypes"); } // end anonymous namespace +char StripDeadPrototypesPass::ID = 0; +INITIALIZE_PASS(StripDeadPrototypesPass, "strip-dead-prototypes", + "Strip Unused Function Prototypes", false, false) + bool StripDeadPrototypesPass::runOnModule(Module &M) { bool MadeChange = false;