X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fbugpoint%2FTestPasses.cpp;h=db7544b57a627b98796d2aacbe97217578649151;hb=7894ea75b5e25b2ca354a79f7b552ea941d157d8;hp=1a58e60804bd5037efe5aaf1080039f317716202;hpb=9d5968dd51c651570c37117cb03117f8526fd62a;p=oota-llvm.git diff --git a/tools/bugpoint/TestPasses.cpp b/tools/bugpoint/TestPasses.cpp index 1a58e60804b..db7544b57a6 100644 --- a/tools/bugpoint/TestPasses.cpp +++ b/tools/bugpoint/TestPasses.cpp @@ -1,10 +1,10 @@ //===- TestPasses.cpp - "buggy" passes used to test bugpoint --------------===// -// +// // 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 file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// //===----------------------------------------------------------------------===// // // This file contains "buggy" passes that are used to test bugpoint, to check @@ -14,8 +14,9 @@ #include "llvm/BasicBlock.h" #include "llvm/Constant.h" -#include "llvm/iOther.h" +#include "llvm/Instructions.h" #include "llvm/Pass.h" +#include "llvm/Type.h" #include "llvm/Support/InstVisitor.h" using namespace llvm; @@ -24,6 +25,10 @@ namespace { /// CrashOnCalls - This pass is used to test bugpoint. It intentionally /// crashes on any call instructions. class CrashOnCalls : public BasicBlockPass { + public: + static char ID; // Pass ID, replacement for typeid + CrashOnCalls() : BasicBlockPass((intptr_t)&ID) {} + private: virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); } @@ -37,6 +42,7 @@ namespace { } }; + char CrashOnCalls::ID = 0; RegisterPass X("bugpoint-crashcalls", "BugPoint Test Pass - Intentionally crash on CallInsts"); @@ -46,6 +52,10 @@ namespace { /// DeleteCalls - This pass is used to test bugpoint. It intentionally /// deletes some call instructions, "misoptimizing" the program. class DeleteCalls : public BasicBlockPass { + public: + static char ID; // Pass ID, replacement for typeid + DeleteCalls() : BasicBlockPass((intptr_t)&ID) {} + private: bool runOnBasicBlock(BasicBlock &BB) { for (BasicBlock::iterator I = BB.begin(), E = BB.end(); I != E; ++I) if (CallInst *CI = dyn_cast(I)) { @@ -57,7 +67,8 @@ namespace { return false; } }; - + + char DeleteCalls::ID = 0; RegisterPass Y("bugpoint-deletecalls", "BugPoint Test Pass - Intentionally 'misoptimize' CallInsts");