[LLVMdev] Marking a function prototype as being "persistent"

Reid Kleckner reid.kleckner at gmail.com
Thu Jan 6 22:53:42 PST 2011


On Thu, Jan 6, 2011 at 10:21 PM, Christophe de Dinechin
<christophe at taodyne.com> wrote:
>>  Why don't you create your own sequence of passes that does what you want rather than calling createStandardLTOPasses?
>
> As I wrote in an earlier reply, been there, done that. That forces me to maintain a quasi-clone of standard passes.

No, this is a different suggestion, it is to maintain a separate list
of what passes are known to not violate your assumptions, ie don't run
GlobalDCE and StripDeadPrototypes, and maybe some others.  I don't
know enough to give you a list.  This could be better documented.  I
know we ran into issues using the standard IPO passes for unladen
swallow, but I don't know what the resolution was.

>>  One of the nice features of LLVM is that you can run any passes you choose in any order you like.
>
> Having standard LTO passes get in the way of incremental recompilation is not a feature.

I would say that deleting as much dead code as possible during LTO is a feature.

Reid




More information about the llvm-dev mailing list