suggestions for optimization pragmas
Mark G. Mendel x2778
mark at ns.UUCP
Sun Dec 11 06:59:51 AEST 1988
Recently, I have been hand-optimizing an interrupt handler starting with the
output of the Tektronix 68020 C compiler. Here is a #pragma that I would
dearly love to see in a C compiler:
#pragma critical (true|false)
This indicates the 'usual' result of the next condional statement. The
compiler would attempt to arrange instructions along the critical-path
sequentially in memory to take advantage of instruct pre-fetch. That is,
error conditions would branch off and cause prefetch misses, whereas the
critical, non-error execution path would zip along sequentially through memory.
In addition, local variables declared in a non-critical block would never
steal registers from critical-path variables.
Doing this by hand has resulted in a significant gain in speed. Since
instruction pre-fetching is pretty universal on state-of-the-art chips, such a
pragma would win on most compilers.
More information about the Comp.lang.c
mailing list