[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM

Benjamin Kramer benny.kra at gmail.com
Sun Jul 15 07:57:16 PDT 2012


On 15.07.2012, at 13:07, Chandler Carruth <chandlerc at gmail.com> wrote:

> Hello folks,
> 
> I'd like to remove all of the old and defunct profile info passes from LLVM. These have been almost entirely supplanted by the BranchProbability and BlockFrequency systems, which are actually on by default, and in use in optimization passes.
> 
> The old system is not on, and hasn't been touched in years except to do minor build fixes and updates.
> 
> As far as I'm aware, the only thing the old system supported which the new one does not is loading profile data. However, it didn't support doing anything useful with that data once loaded, and has seen essentially zero testing on mainline over the past two years, so I think its time to let go of this pile of code.
> 
> I'm planning to nuke it right away and I can resurrect it if someone actually steps forward with a use case (and an offer to maintain and support it, preferably integrating it w/ the above two systems).

+1 for ripping out ProfileInfo, it is obsoleted by BranchProbababilty/Frequency. Even the profile info loader can go away, it would need a rewrite for the new infrastructure and isn't a big piece of code.

I'm not sure about the runtime parts in libprofile and the edge profiling instrumentation. Those could be still useful if someone wires them up to the newer infrastructure.

- Ben





More information about the llvm-dev mailing list