[LLVMdev] alloc_size metadata

Duncan Sands baldrick at free.fr
Sat Jun 2 00:56:30 PDT 2012


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?

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



More information about the llvm-dev mailing list