[LLVMdev] module passes that eliminate unused global symbols

Justin Holewinski justin.holewinski at gmail.com
Mon May 20 14:09:55 PDT 2013


Internalize and GlobalDCE should be what you need.


On Mon, May 20, 2013 at 4:20 PM, Frank Winter <fwinter at jlab.org> 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?
>
> Frank
>
> ______________________________**_________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/**mailman/listinfo/llvmdev<http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>



-- 

Thanks,

Justin Holewinski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130520/91b5b625/attachment.html>


More information about the llvm-dev mailing list