wendyt@isieng.UUCP (Wendy Thrash) (09/28/85)
Ken Turkowski @ CADLINC, Menlo Park, CA writes: > On machines such as the 68000 that have separate address and data > register sets, the C compiler doesn't normally distinguish between the > two when allocating them.... Rich $alz at Mirror Systems replies: > Sorry, Ken. If the C compiler is based on PCC, as most of them are, then: > "The machine is assumed to have a number of > registers, of at most two different types: A and B...." Vanilla SU numbers and sucomp() do not adequately describe different types of registers; resulting schemes for register allocation and evaluation order are generally either very conservative or very easy to break; some compilers (including a couple I've worked on and, I believe, Sun's) extend the SU notion to ordered n-tuples. I've found getting register allocation correct to be the main problem in modifying our compilers for the 68881. The 4.2 f77 optimizer seems fairly single-minded in its belief that there is only one kind of register, by the way -- a bigger pain than ccom/f1.