X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FCodeGen%2FUnreachableBlockElim.cpp;h=0a611ab9bb35a05d67b0a9682486a3eeddfed940;hb=5c0d6ed325417baa5d119af9c2b6790231d8565f;hp=27355ec6d3dab7792de12073f7a441cd9f67afaf;hpb=879313ae3aa2052cc40ba6f0f25c17e7a5a6f0da;p=oota-llvm.git diff --git a/lib/CodeGen/UnreachableBlockElim.cpp b/lib/CodeGen/UnreachableBlockElim.cpp index 27355ec6d3d..0a611ab9bb3 100644 --- a/lib/CodeGen/UnreachableBlockElim.cpp +++ b/lib/CodeGen/UnreachableBlockElim.cpp @@ -1,12 +1,12 @@ //===-- UnreachableBlockElim.cpp - Remove unreachable blocks for codegen --===// -// +// // The LLVM Compiler Infrastructure // // This file was developed by the LLVM research group and is distributed under // the University of Illinois Open Source License. See LICENSE.TXT for details. -// +// //===----------------------------------------------------------------------===// -// +// // This pass is an extremely simple version of the SimplifyCFG pass. Its sole // job is to delete LLVM basic blocks that are not reachable from the entry // node. To do this, it performs a simple depth first traversal of the CFG, @@ -25,15 +25,21 @@ #include "llvm/Instructions.h" #include "llvm/Function.h" #include "llvm/Pass.h" +#include "llvm/Type.h" #include "llvm/Support/CFG.h" -#include "Support/DepthFirstIterator.h" +#include "llvm/Support/Compiler.h" +#include "llvm/ADT/DepthFirstIterator.h" using namespace llvm; namespace { - class UnreachableBlockElim : public FunctionPass { + class VISIBILITY_HIDDEN UnreachableBlockElim : public FunctionPass { virtual bool runOnFunction(Function &F); + public: + static char ID; // Pass identification, replacement for typeid + UnreachableBlockElim() : FunctionPass((intptr_t)&ID) {} }; - RegisterOpt + char UnreachableBlockElim::ID = 0; + RegisterPass X("unreachableblockelim", "Remove unreachable blocks from the CFG"); }