[LLVMdev] Pass to remove unused functions
Chris Lattner
clattner at apple.com
Tue May 5 19:47:09 PDT 2009
On May 5, 2009, at 4:50 PM, Villmow, Micah wrote:
> Is there a way to mark all functions as internal from source via
> some sort of attribute?
"static". However, if you do that, they won't make it into the bc file.
-Chris
>
> Thanks for the tips,
> Micah
>
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-
> bounces at cs.uiuc.edu] On Behalf Of Chris Lattner
> Sent: Tuesday, May 05, 2009 4:16 PM
> To: LLVM Developers Mailing List
> Subject: Re: [LLVMdev] Pass to remove unused functions
>
>
> On May 5, 2009, at 4:07 PM, Villmow, Micah wrote:
>
>
> I thought this pass would do it, but when I run it over my bc file
> the output file is the same as the input file.
>
> that's probably because your symbols are not internal.
>
>
>
> The issue I guess is a little different. When I link in the huge bc
> file with the tiny bc file, I only want the resulting bc file to
> have the function definitions that the tiny bc file requires and not
> every function in the huge bc file.
>
> Any idea’s how to do this with the current llvm toolset?
>
> You have to roll your own using the lower level APIs. You can move
> functions between modules etc. Alternatively, you can link the two
> modules and mark the functions you don't want as internal, then use
> globaldce.
>
> -Chris
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090505/c537b210/attachment.html>
More information about the llvm-dev
mailing list