[LLVMdev] Profiling in LLVM Patch Followup 1

Andreas Neustifter e0325716 at student.tuwien.ac.at
Thu Jul 2 08:23:02 PDT 2009


this is the first in a series of patches to cleanup and improve the LLVM Profiling Infrastructure.

First and foremost this patch removes duplicate functionality from ProfileInfoLoader and ProfileInfo:
The ProfileInfoLoader performed not only the loading of the profile information but also some synthesis of block and function execution counts from edge profiling information. Since the ProfileInfo performs this synthesis anyways, the ProfileInfoLoader was demoted to be really only the interface to the profile information file.

Since the llvm-prof was the only client of the synthesis portion of the ProfileInfoLoader it had to be changed to fetch this kind of information from the ProfileInfo with the help of the ProfileInfoLoaderPass.

The next step are to
*) add proper handling of an edge (0,entry) for each function to the Profiling Infrastructure
*) provide a dedicated return value if the profiling information for a certain element is not available
*) change the profiling values itself to double as preparation for future passes that require floating point support from ProfileInfo

Greetings, Andi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvm-r74697.profileinfo.cleanup.patch
Type: text/x-patch
Size: 26619 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090702/e558d4fe/attachment.bin>

More information about the llvm-dev mailing list