This is the mail archive of the
mailing list for the GCC project.
Re: preprocessor: % as args to #defines
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: ian at wasabisystems dot com (Ian Lance Taylor)
- Cc: geoffk at geoffk dot org (Geoff Keating), spolk at apple dot com (Syd Polk), corsepiu at faw dot uni-ulm dot de (Ralf Corsepius), gcc at gcc dot gnu dot org (GCC List), zack at codesourcery dot com (Zack Weinberg), joern dot rennecke at superh dot com (Joern Rennecke)
- Date: Fri, 30 Jan 2004 12:35:46 +0000 (GMT)
- Subject: Re: preprocessor: % as args to #defines
> Mea culpa. It can be rearranged, hoisted, duplicated, eliminated,
> etc., but it can't actually be scheduled.
Well, it can't be scheduled with the C code, but it can be scheduled inside.
When you combine prefetching, loop unswitching, loop unrolling,
modulo scheduling, instruction selection, data layout, register allocation
and stack slot allocation into one holistic optimization, you can do much
better than the compiler. Then you just leave the boring bits of
calculations needed for preconditioning the outermost asm-ized loop to
the C code.