Profile information can be used to guide inlining decisions. It is almost always profitable to inline even somewhat large functions in deeply nested loops, while at the same time it is never profitable to inline a function in a cold region of a program. Without profile information, the compiler doesn't know what regions are hot or cold, so it basically just heuristically picks a few functions, inlines those, and then hopes for the best.

Work on profile guided inlining is in progress on the tree-profiling branch.

None: Profile_based_inlining (last edited 2008-01-10 19:38:39 by localhost)