[comp.unix.wizards] noalias

tbray@watsol.waterloo.edu (Tim Bray) (04/02/89)

In article <9135@alice.UUCP> dmr@alice.UUCP writes:
>X3J11 made only the teensiest of language changes in the last 18 months.  
>Noalias went in, but it went out again.
Why? Inquiring minds not in the standardization community but interested in 
optimization want to know.
Tim Bray, New OED Project, U of Waterloo

gwyn@smoke.BRL.MIL (Doug Gwyn ) (04/04/89)

In article <12975@watdragon.waterloo.edu> tbray@watsol.waterloo.edu (Tim Bray) writes:
>In article <9135@alice.UUCP> dmr@alice.UUCP writes:
>>Noalias went in, but it went out again.
>Why? Inquiring minds not in the standardization community but interested in 
>optimization want to know.

This was explained before (in a C newsgroup, probably not UNIX-WIZARDS),
but here goes again, in brief:

Why it went in:

To provide optimizers a way to know when pointer aliasing was not possible,
so they could vectorize etc. to a much higher degree than allowed otherwise.

Why it went out:

The "noalias" qualification was improperly specified, and consequently
spread its influence into internals of C library routines, etc. making
a mess that conforming programs would have to contend with.  It probably
could have been fixed, but there was a big enough stink made about it
that it wasn't politically feasible to do otherwise than remove the
tainted word "noalias".  No other proposal for providing similar
function was found acceptable to a 2/3 majority of X3J11.

rbj@dsys.icst.nbs.gov (Root Boy Jim) (04/07/89)

? From: Doug Gwyn  <gwyn@smoke.brl.mil>

? Why it went out:

Everything you said, I assume is true, as you should know. However,
perhaps the real reason might have been Dennis Ritchie's statement:
"Noalias must go. This is non-negotiable" (or something like that).

Along those lines, I might draw an interesting parallel between DMR
and company to God. It seems that in the Old Testament, God was a
major player, interacting with mortals, issuing decrees, and performing
all sorts of metaphysical acts, while in the New Testament, he is
scarcely heard from. Dennis says little these days. Hmmmmmm...

	Root Boy Jim is what I am
	Are you what you are or what?