diff options
author | Dan Gohman <gohman@apple.com> | 2010-06-07 20:20:33 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-06-07 20:20:33 +0000 |
commit | b9539745c54de13452e5ae7d0a13cb20dd763c10 (patch) | |
tree | cfffbcc8bdcd31d4d6cda41590abdc4eecaad968 /lib | |
parent | e49a13e7260b83ce56d01446f2a165cc9f35da7f (diff) | |
download | llvm-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.cpp | 7 |
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; } }; } |