[LLVMdev] DominatorTree Information required in CallGraphPass

Devang Patel dpatel at apple.com
Thu Feb 12 10:33:19 PST 2009


On Feb 11, 2009, at 6:05 PM, kapil anand wrote:

> Hi all,
>
> I am implementing a new pass for LLVM which extends Call Graph
> SCCPass. I need DominatorTree Information when I get to individual
> function. I have added AU.addrequired<DominatorTree>() and
> AU.addRequired<DominanceFrontier>() in getAnalysisUsage() function.

>
> But, when I get to the pass,  Pass Manager gives following runtime  
> error
>
>
> Unable to schedule 'Dominator Tree Construction' required by '......'
>
> assertion "0 && "Unable to schedule pass"" failed: file "/usr/src/ 
> llvm-2.4/llvm-
> 2.4/lib/VMCore/PassManager.cpp", line 1074
>
>
> Can't I use dominator Tree Information in case of CallGraphSCCPass. I
> found out from documentation that dominator Info can be used in Module
> Pass
>
> ( http://www.llvm.org/docs/WritingAnLLVMPass.html#getAnalysis )
>
> Thus it seemed feasible that Call GraphSCCPass should also be able to
> use Dominator Info.Do I need to add some flag that I need lower level
> passes?

Pl. file a bugzilla report. Call graph pass manager is not  
implementing addLowerLevelRequiredPass() to support this. If you copy  
the same method from MPPassManager (see Pasmanager.cpp) then it should  
work. If it works, please send us patch.

Thanks,
>
>
> Thanks
>
> Regards,
> Kapil
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-
Devang






More information about the llvm-dev mailing list