This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RFH: intra-procedure optimizations "CALL_REALLY_USED_REGISTERS"
- From: BjÃrn Haase <bjoern dot m dot haase at web dot de>
- To: gcc at gcc dot gnu dot org
- Date: Sun, 7 Aug 2005 09:35:42 +0200
- Subject: RFH: intra-procedure optimizations "CALL_REALLY_USED_REGISTERS"
Hello,
The avr port presently misses possible intra-procedure optimizations
concerning register use. Optimizations are missed when 1) calling a leaf
function that is 2) defined in the same unit as a the caller and 3) clobbers
only a subset of the call-clobbered registers. Presently I observe that the
caller still saves all of the "CALL_REALLY_USED_REGISTERS" whether they are
*really* used or not.
Is there a way to make leaf functions to be compiled first so that when
starting with non-leaf functions in the same unit expand could insert
detailed information on which subset of registers is actually clobbered by
calls to leaf functions?
When reading the comments in cgraph.c for the cgraph_optimize function
"Backend can then use this information to modify calling conventions" it
seems to me that there is an interface already for modifying the calling
convention. Is there a port that uses it so that one could find out what the
interface looks like?
Yours,
Bjoern Haase