[LLVMdev] alloc_size metadata

Hal Finkel hfinkel at anl.gov
Sat Jun 2 05:28:51 PDT 2012


On Sat, 02 Jun 2012 09:56:30 +0200
Duncan Sands <baldrick at free.fr> wrote:

> Hi Hal,
> 
> > To do bounds checking you need two things: First you need to know
> > the bounds (this requires tracking calls to allocation functions),
> > and then you need to look at memory accesses. My guess is that
> > running the analysis late helps much more with the second part than
> > with the first. So I would split this into two pieces. Prior to
> > inlining, add whatever is necessary around each call site so that
> > you get the bounds data that you need. You can tag these resulting
> > values so that they're easily recognizable to the later parts of
> > the analysis (you might need to artificially makes these 'used' so
> > that DCE won't get rid of them).
> 
> in that case, why not have the front-end do this part?  I mean, rather
> than the front-end outputting hi/lo functions and metadata so that
> some LLVM pass can insert a few markers or whatever around/on
> call-sites that a later LLVM pass recognizes, why not have the
> front-end insert those "markers" directly?

So long as this does not violate the "don't pay for what you don't
use" rule, I don't see any reason why not.

 -Hal

> 
> > Then, after more cleanup has been done by other optimization passes,
> > run the pass that instruments the memory accesses (then DCE anything
> > that you did not end up actually using).
> 
> Ciao, Duncan.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list