Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108794 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson
2010-07-20 01:19:58 +00:00
parent fb272ad614
commit 8ba15cb709
23 changed files with 154 additions and 135 deletions
+5 -5
View File
@@ -43,7 +43,7 @@ namespace {
}
namespace llvm {
class ReducePassList : public ListReducer<const PassInfo*> {
class ReducePassList : public ListReducer<const StaticPassInfo*> {
BugDriver &BD;
public:
ReducePassList(BugDriver &bd) : BD(bd) {}
@@ -52,15 +52,15 @@ namespace llvm {
// running the "Kept" passes fail when run on the output of the "removed"
// passes. If we return true, we update the current module of bugpoint.
//
virtual TestResult doTest(std::vector<const PassInfo*> &Removed,
std::vector<const PassInfo*> &Kept,
virtual TestResult doTest(std::vector<const StaticPassInfo*> &Removed,
std::vector<const StaticPassInfo*> &Kept,
std::string &Error);
};
}
ReducePassList::TestResult
ReducePassList::doTest(std::vector<const PassInfo*> &Prefix,
std::vector<const PassInfo*> &Suffix,
ReducePassList::doTest(std::vector<const StaticPassInfo*> &Prefix,
std::vector<const StaticPassInfo*> &Suffix,
std::string &Error) {
sys::Path PrefixOutput;
Module *OrigProgram = 0;