X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fbugpoint%2FBugDriver.h;h=27b37f4dc69b5a431c2f812a11aedd141462be8e;hb=d6f0c34273dd3536102f2d643403252468dfc4a3;hp=dbb7a3dd8f3a19fe70b6d2b09fe4e5892b7d0f5f;hpb=8261dfed05e32302469ef707cc881fed2c31f85f;p=oota-llvm.git diff --git a/tools/bugpoint/BugDriver.h b/tools/bugpoint/BugDriver.h index dbb7a3dd8f3..27b37f4dc69 100644 --- a/tools/bugpoint/BugDriver.h +++ b/tools/bugpoint/BugDriver.h @@ -17,8 +17,9 @@ #define BUGDRIVER_H #include "llvm/ADT/ValueMap.h" -#include +#include "llvm/Transforms/Utils/ValueMapper.h" #include +#include namespace llvm { @@ -190,7 +191,7 @@ public: /// this function. /// bool createReferenceFile(Module *M, const std::string &Filename - = "bugpoint.reference.out"); + = "bugpoint.reference.out-%%%%%%%"); /// diffProgram - This method executes the specified module and diffs the /// output against the file specified by ReferenceOutputFile. If the output @@ -214,8 +215,7 @@ public: /// series of cleanup passes (ADCE and SimplifyCFG) to eliminate any code /// which depends on the value. The modified module is then returned. /// - Module *deleteInstructionFromProgram(const Instruction *I, unsigned Simp) - const; + Module *deleteInstructionFromProgram(const Instruction *I, unsigned Simp); /// performFinalCleanups - This method clones the current Program and performs /// a series of cleanups intended to get rid of extra cruft on the module. If @@ -275,6 +275,8 @@ public: /// bitcode file. If an error occurs, true is returned. /// bool writeProgramToFile(const std::string &Filename, const Module *M) const; + bool writeProgramToFile(const std::string &Filename, int FD, + const Module *M) const; private: /// runPasses - Just like the method above, but this just returns true or @@ -323,7 +325,7 @@ void DeleteFunctionBody(Function *F); /// module, split the functions OUT of the specified module, and place them in /// the new module. Module *SplitFunctionsOutOfModule(Module *M, const std::vector &F, - ValueMap &VMap); + ValueToValueMapTy &VMap); } // End llvm namespace