[llvm-dev] How to count instructions in a function?

John Criswell via llvm-dev llvm-dev at lists.llvm.org
Thu Nov 30 09:33:52 PST 2017

Dear Zubin,

If I were you, I would write a ModulePass that uses the CallGraph 
analysis to get a call graph.  I would then iterate over the nodes in 
the call graph and propagate information from callees to callers.


John Criswell

On 11/29/17 4:02 PM, Zubin Pahuja via llvm-dev wrote:
> Hello,
> I am trying to count IR instructions in a function for static analysis 
> using llvm pass. In contrast with existing examples, I am trying to 
> include instruction counts of all the callees of the function.
> Counting the instructions of a function is easy using passes, but 
> iterating through the module's CallGraph is proving to be confusing. I 
> believe I have to use CallGraphWrapperPass to get both module pass and 
> its CallGraph. How do I iterate through the CallGraph in 
> runOnModule()? A simple print callee names example would be highly 
> appreciated.
> Thanks,
> Zubin
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

John Criswell
Assistant Professor
Department of Computer Science, University of Rochester

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171130/642682ff/attachment.html>

More information about the llvm-dev mailing list