Related articles |
---|
SPARC code generation references ressler@cs.cornell.edu (1991-05-24) |
Re: SPARC code generation references torek@elf.ee.lbl.gov (1991-05-26) |
Re: SPARC code generation references preston@ariel.rice.edu (1991-05-28) |
Re: SPARC code generation references pardo@june.cs.washington.edu (1991-05-28) |
Re: SPARC code generation references array!colin (1991-05-27) |
Newsgroups: | comp.compilers |
From: | pardo@june.cs.washington.edu (David Keppel) |
Keywords: | SPARC, optimize |
Organization: | Computer Science & Engineering, U. of Washington, Seattle |
References: | 91-05-100 91-05-101 |
Date: | Tue, 28 May 91 17:12:59 GMT |
torek@elf.ee.lbl.gov (Chris Torek) writes:
>[You can `leaf crush' on the SPARC as long as there are enough
> registers: non-parameter (sp/ret-pc) `o' registers and 7 `g'
> registers.]
Be careful with this. According to the SPARC ABI (Applications Binary
Interface) standard, an ABI conforming program does something like:
%g0 is always zero
%g1 is a caller-save `very temp'
%g2..%g4 are reserved for application code and may not
be modified by libraries
%g5..%g7 may be read but not written by an application
(e.g., the analog of %g2..%g4 for libraries)
Eek!
I don't sit on the committee. I think some of this is useful but as
much as they've done is too much, since it potentially leaves (so to
speak :-) only one `very temp'. As an aside, you can't manually
spill/restore reserved `g' registers because they might be needed by
an asynchronous signal. Ah, omniscience by committee is just as hard
as any other time :-)
;-D on ( An opinion a day... ) Pardo
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.