This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Hot and Cold Partitioning (Was: GCC 4.1 Projects)


Dale Johannesen wrote:

Certainly. In general it will make the total size bigger, as does inlining. If you have good
information about what's hot and cold, it should reduce the number of pages that actually
get swapped in. The information has to be good, though, as a branch from
hot<->cold section becomes more expensive. I'd recommend it only if you have
profiling data (this is a known winner on Spec in that situation).


Should I do custom basic block reordering in machine_dependent_reorg to clean up
the turds of hot and cold partitioning?


No, you should not turn on partitioning in situations where code size is important to you.


You are missing the point. In my example, with perfect profiling data, you still end up with
more code in the hot section, i.e. more pages are actually swapped in. A block should not
be put in the code section unless it is larger than a jump into the cold section.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]