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? Thanks, Dan