[LLVMdev] Function code size estimation

Eli Friedman eli.friedman at gmail.com
Fri Jun 4 04:47:09 PDT 2010


On Fri, Jun 4, 2010 at 2:46 AM, Gregory Petrosyan
<gregory.petrosyan at gmail.com> wrote:
> Hello,
>
> I am working on a pass that finds identical basic blocks and abstracts
> them into functions, in order to reduce code size.
>
> To decide, whether particular basic block group is worth factoring
> out, I want to estimate code size of some function that uses one of
> basic blocks in question 'as is', and after factoring the basic block
> into a new function.
>
> Can you please suggest a proper way to do this?

You could just count the number of Instructions as an extremely rough
estimate.  llvm/Analysis/InlineCost.h has the functions used by the
inliner and other similar transforms to estimate the cost of a basic
block or function, which are somewhat more accurate.

-Eli



More information about the llvm-dev mailing list