[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.

Regards,

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
http://www.cs.rochester.edu/u/criswell

-------------- 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