[LLVMdev] Removing legacy profiling code from LLVM

Chandler Carruth chandlerc at google.com
Thu Sep 12 23:29:41 PDT 2013


BTW, this will also remove the entire 'runtime' directory in the LLVM
repository.

Runtime libraries are now being developed in compiler-rt. That is where the
GCDA profiling runtime already lives and any new instrumentation based
profiling runtime would also likely live there.

If the code in the existing runtime tree is needed to start building those,
they can always be found in the VCS as usual.


I'm planning to submit this tomorrow morning.

-Chandler


On Thu, Sep 12, 2013 at 8:22 PM, Chandler Carruth <chandlerc at google.com>wrote:

> Alright, I'm ready to nuke it. Last chance to say stop.
>
> For context of others, this has come up repeatedly: no one we know of is
> using EdgeProfiling.cpp, PathProfiling.cpp, and the
> lib/Analysis/Profile*Pass.cpp collection of tools. They haven't been
> updated since 2012 when Alastair Murray looked into this stuff, and both
> current efforts towards PGO are essentially *totally* different
> implementation strategies that won't benefit from this code being here.
>
> If anything, this code is actively confusing those efforts and so I would
> like to garbage collect and help pave the way for new stuff. We can always
> recover this code from the VCS if needed in the future.
>
> Files on the chopping block:
> #       deleted:    include/llvm/Analysis/PathNumbering.h
> #       deleted:    include/llvm/Analysis/PathProfileInfo.h
> #       deleted:    include/llvm/Analysis/ProfileDataLoader.h
> #       deleted:    include/llvm/Analysis/ProfileDataTypes.h
> #       deleted:    include/llvm/Analysis/ProfileInfo.h
> #       deleted:    include/llvm/Analysis/ProfileInfoLoader.h
> #       deleted:    include/llvm/Analysis/ProfileInfoTypes.h
> #       deleted:    lib/Analysis/PathNumbering.cpp
> #       deleted:    lib/Analysis/PathProfileInfo.cpp
> #       deleted:    lib/Analysis/PathProfileVerifier.cpp
> #       deleted:    lib/Analysis/ProfileDataLoader.cpp
> #       deleted:    lib/Analysis/ProfileDataLoaderPass.cpp
> #       deleted:    lib/Analysis/ProfileEstimatorPass.cpp
> #       deleted:    lib/Analysis/ProfileInfo.cpp
> #       deleted:    lib/Analysis/ProfileInfoLoader.cpp
> #       deleted:    lib/Analysis/ProfileInfoLoaderPass.cpp
> #       deleted:    lib/Analysis/ProfileVerifierPass.cpp
> #       deleted:    lib/Transforms/Instrumentation/EdgeProfiling.cpp
> #       deleted:    lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
> #       deleted:    lib/Transforms/Instrumentation/PathProfiling.cpp
>
> Please let me know if you have any concerns. I'm likely to submit this
> rather soon and revert it if I hear any problems because we've already
> spent too much time with newcomers looking at this code, trying to do stuff
> with it, and then realizing it never really worked or was actively
> maintained.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130912/11e48dcb/attachment.html>


More information about the llvm-dev mailing list