unable to schedule pass message

Hi,

Sorry for the spam, but perhaps someone has seen this before and can answer. I am trying to add a new register allocator to my target, and would like to use the Strong Phi Elimination pass. I am doing the following in my allocator

virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequiredID(MachineDominatorsID);
AU.addRequiredID(StrongPHIEliminationID); // Eliminate PHI nodes
AU.addRequired();
AU.addPreserved();
AU.addRequired();
AU.addPreserved();
MachineFunctionPass::getAnalysisUsage(AU);
}

but I get the following error at runtime

Unable to schedule ‘MachineDominator Tree Construction’ required by ‘Eliminate PHI nodes for register allocation, intelligently’
…/VMCore/PassManager.cpp:1077: virtual void llvm::PMDataManager::addLowerLevelRequiredPass(llvm::Pass*, llvm::Pass*): Assertion `0 && “Unable to schedule pass”’ failed.

I was wondering if anyone know what might be the issue?

Thanks
Vinod