[LLVMdev] module passes that eliminate unused global symbols
S.Parker3 at lboro.ac.uk
Mon May 20 14:59:24 PDT 2013
I compile my library to bytecode and then declare all my functions as
linkonce ( http://llvm.org/docs/LangRef.html#linkage-types) and then use
llvm-link to produce a minimal module, which works pretty well for me.
On 20/05/13 21:20, Frank Winter wrote:
> My module contains one function that calls a handful of functions in
> another module (which contains a huge collection of functions). The
> goal is to make the module 'self-contained', i.e. no calls across
> module boundaries, and as minimal as possible, i.e. it does not
> contain any function which is not called directly or indirectly from
> the original function. So, I linked in the callee module to the caller
> module and ran the internalize pass to filter/mark the non-external
> global symbols. Is this a good first step towards the goal? How can I
> eliminate unused global symbols or make the module minimal (with the
> existing (trunk) passes)? Ideally only the (directly or indirectly)
> referenced symbols survive. Is this possible or do I need to develop
> such passes?
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev