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>