summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-06-07 20:20:33 +0000
committerDan Gohman <gohman@apple.com>2010-06-07 20:20:33 +0000
commitb9539745c54de13452e5ae7d0a13cb20dd763c10 (patch)
treecfffbcc8bdcd31d4d6cda41590abdc4eecaad968 /lib
parente49a13e7260b83ce56d01446f2a165cc9f35da7f (diff)
downloadllvm-b9539745c54de13452e5ae7d0a13cb20dd763c10.tar.gz
llvm-b9539745c54de13452e5ae7d0a13cb20dd763c10.tar.bz2
llvm-b9539745c54de13452e5ae7d0a13cb20dd763c10.tar.xz
Make bugpoint dead-argument-hacking actually work, and actually test it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105551 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Transforms/IPO/DeadArgumentElimination.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp
index 692e47da71..475eee8b19 100644
--- a/lib/Transforms/IPO/DeadArgumentElimination.cpp
+++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp
@@ -120,9 +120,14 @@ namespace {
typedef SmallVector<RetOrArg, 5> UseVector;
+ protected:
+ // DAH uses this to specify a different ID.
+ explicit DAE(void *ID) : ModulePass(ID) {}
+
public:
static char ID; // Pass identification, replacement for typeid
DAE() : ModulePass(&ID) {}
+
bool runOnModule(Module &M);
virtual bool ShouldHackArguments() const { return false; }
@@ -155,6 +160,8 @@ namespace {
/// by bugpoint.
struct DAH : public DAE {
static char ID;
+ DAH() : DAE(&ID) {}
+
virtual bool ShouldHackArguments() const { return true; }
};
}