The virtual function Pass::runPass is a little deceptive; a pass that
isn't a ModulePass can be run on a Module when run from a
PassManager, but calling runPass(Module *) with the same pass
does nothing. Also, runPass doesn't appear to be used anywhere.
Can someone explain what runPass is for?
Only BasicBlockPass uses it. I do not see any advantage of keeping this around ? What are you trying to do?
I'm just reading the code trying to understand what stuff does and
how it's used :-). If you don't see any advantage in keeping the
runPass methods, can we remove them?
Yes, we can remove this methods.