Hi,<div><br></div><div>   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</div>
<div><br></div><div><div>    virtual void getAnalysisUsage(AnalysisUsage &AU) const {</div><div>      AU.addRequiredID(MachineDominatorsID);</div><div>      AU.addRequiredID(StrongPHIEliminationID);           // Eliminate PHI nodes</div>
<div>      AU.addRequired<LiveStacks>();</div><div>      AU.addPreserved<LiveStacks>();</div><div>      AU.addRequired<MachineLoopInfo>();</div><div>      AU.addPreserved<MachineLoopInfo>();</div><div>
      MachineFunctionPass::getAnalysisUsage(AU);</div><div>    }</div><div><br></div><div>but I get the following error at runtime</div><div><br></div><div><div>Unable to schedule 'MachineDominator Tree Construction' required by 'Eliminate PHI nodes for register allocation, intelligently'</div>
<div>.../VMCore/PassManager.cpp:1077: virtual void llvm::PMDataManager::addLowerLevelRequiredPass(llvm::Pass*, llvm::Pass*): Assertion `0 && "Unable to schedule pass"' failed.</div><div><br></div><div>
I was wondering if anyone know what might be the issue?</div><div><br></div><div>Thanks</div><div>Vinod</div><div><br></div><div><br></div></div></div>