diff options
author | Chris Lattner <sabre@nondot.org> | 2003-04-24 22:24:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-04-24 22:24:58 +0000 |
commit | aae33f9137e4a64394d8f9fe66611ae53a0ef4e8 (patch) | |
tree | 51e1e6ef3682b4f0d574a4ed5b6ba01ebffa5504 /tools/bugpoint/BugDriver.h | |
parent | 39aebca3a2d1dd389a6d9cdfb51a53f625e244f0 (diff) | |
download | llvm-aae33f9137e4a64394d8f9fe66611ae53a0ef4e8.tar.gz llvm-aae33f9137e4a64394d8f9fe66611ae53a0ef4e8.tar.bz2 llvm-aae33f9137e4a64394d8f9fe66611ae53a0ef4e8.tar.xz |
Use the list reducer to improve convergence speed and to support crashes that
only occur when multiple passes interact or when multiple functions exist in a module
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5911 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint/BugDriver.h')
-rw-r--r-- | tools/bugpoint/BugDriver.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/tools/bugpoint/BugDriver.h b/tools/bugpoint/BugDriver.h index 5a4fc6a225..263a2c9ba7 100644 --- a/tools/bugpoint/BugDriver.h +++ b/tools/bugpoint/BugDriver.h @@ -17,8 +17,10 @@ class Function; class AbstractInterpreter; class Instruction; +class DebugCrashes; class ReduceMiscompilingPasses; class ReduceMiscompilingFunctions; +class ReduceCrashingFunctions; class BugDriver { const std::string ToolName; // Name of bugpoint @@ -26,8 +28,11 @@ class BugDriver { std::vector<const PassInfo*> PassesToRun; AbstractInterpreter *Interpreter; // How to run the program + // FIXME: sort out public/private distinctions... + friend class DebugCrashes; friend class ReduceMiscompilingPasses; friend class ReduceMiscompilingFunctions; + friend class ReduceCrashingFunctions; public: BugDriver(const char *toolname) : ToolName(toolname), Program(0), Interpreter(0) {} @@ -52,12 +57,6 @@ public: /// bool debugCrash(); - /// debugPassCrash - This method is called when the specified pass crashes on - /// Program as input. It tries to reduce the testcase to something that still - /// crashes, but it smaller. - /// - bool debugPassCrash(const PassInfo *PI); - /// debugMiscompilation - This method is used when the passes selected are not /// crashing, but the generated output is semantically different from the /// input. @@ -163,4 +162,9 @@ private: /// std::string getPassesString(const std::vector<const PassInfo*> &Passes); +// DeleteFunctionBody - "Remove" the function by deleting all of it's basic +// blocks, making it external. +// +void DeleteFunctionBody(Function *F); + #endif |