[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