ModulePass not run


I use a PassManager object to run several llvm passes I wrote, and it seems that some of them are not run during execution.

I suspect it could be related to the fact that these passes are all classes deriving from the same class (the one that inherits from ModulePass). Due to this, maybe LLVM considers these passes are the same, and runs only one of them ?

Do you have any idea what I may have done wrong ?