Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utcs!mnetor!seismo!caip!princeton!allegra!ulysses!mhuxr!mhuxt!houxm!ihnp4!inuxc!pur-ee!uiucdcs!ccvaxa!aglew From: aglew@ccvaxa.UUCP Newsgroups: net.lang.c Subject: Re: Taking the address of a register (R Message-ID: <2600068@ccvaxa> Date: Sun, 13-Jul-86 12:56:00 EDT Article-I.D.: ccvaxa.2600068 Posted: Sun Jul 13 12:56:00 1986 Date-Received: Mon, 14-Jul-86 22:28:49 EDT References: <7009@boring.mcvax.UUCP> Lines: 29 Nf-ID: #R:boring.mcvax.UUCP:7009:ccvaxa:2600068:000:1367 Nf-From: ccvaxa.UUCP!aglew Jul 13 11:56:00 1986 >In article <2036@brl-smoke.ARPA> rbj@icst-cmr.ARPA writes: >~> Suggestion to make the compiler introduce a temporary when the >~> address of a register variable is passed as argument to a function. > >Rather than cluttering the compiler with more crap than this, write an >optimizing compiler that doesn't need register declarations but can find >out for itself what variables are best put in registers. > >If you want to make the language's level higher by doing something to >register variables, remove them from the language instead of giving them >'pseudo-auto' status. > > Guido van Rossum, CWI, Amsterdam The "~>" summary quote is a good idea, but it has been pointed out that it messes up Hazeltine terminals that use tilde as an escape. How about "... >" Talking about crap - I'm all for good optimizing compilers that can put variables in registers - but I still want to be able to have explicit control when the global optimizer isn't smart enough (frequently). Making a language's level higher does not mean removing low level constructs like register variables, it means making them unnecessary. Your optimizing compiler should be able to optimize in the presence of human added constraints. Andy "Krazy" Glew. Gould CSD-Urbana. USEnet: ihnp4!uiucdcs!ccvaxa!aglew 1101 E. University, Urbana, IL 61801 ARPAnet: aglew@gswd-vms