Noalias trivia question

Henry Spencer henry at utzoo.uucp
Fri May 6 05:39:14 AEST 1988


> ... Now that I know how noalias came and went I have this sense of
> dissatisfaction.  I NEED something that will allow me to write a C
> compiler that can vectorize and concurentize code.  What should I do?

You are probably going to end up using #pragma.  If you investigate the
requirements in detail, you may well find that you end up having several
different directives for controlling/enabling such optimizations; one
technical objection to noalias was that it was too simplistic.

> Will there be anything to resolve this problem?

Almost certainly not from X3J11.  The problem simply is not sufficiently
well understood to try to standardize a solution (my opinion), and it is
definitely too late in the C standardization process to try to do so now
(almost everybody's opinion).

> If there isn't I have only
> one option, implement noalias...

I would say that's a mistake, if only because nobody has ever been able
to produce a precise and coherent definition of what noalias *did*.  The
right thing to do, I think, is to (a) plan on using #pragma, (b) start
designing your compiler, and (c) let your #pragmas evolve as your compiler
design becomes clear.  I think it's a mistake to try to solve the problem
in isolation from the implementation.  Language design is harder than it
looks.
-- 
NASA is to spaceflight as            |  Henry Spencer @ U of Toronto Zoology
the Post Office is to mail.          | {ihnp4,decvax,uunet!mnetor}!utzoo!henry



More information about the Comp.lang.c mailing list