🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #1961

Re: Answers, Chapter 1: TeX

#1961
From: Dan Bernstein
Date: Wed, 07 Nov 1990 23:40
45 lines
2359 bytes
In article <5224@lanl.gov> jlg@lanl.gov (Jim Giles) writes:
> What I don't do is suggest that the compiler involve itself in an
> elaborate scheme to avoid requiring the user to make a few simple
> declarations about aliasing.  Even if your scheme works (it's long,
> I'll have to study it),

It works, and it's not long. You just haven't listened to my short
explanations. I await the end of your ``study,'' and your final
admission that a C compiler can, without any hints from the user, detect
the non-aliasing in Fortran-converted-to-C array code.

> it enlarges .o files by factors which are
> probably exponential in the number of procedure arguments;

Wrong. You said many months ago that most code does not show aliasing.
If this is true, then the compiler can generate two partitions (which
means double-size .o files) and use the more efficient one in all cases.
It only needs to generate more partitions if you actually *do* have
aliasing which you want the compiler to detect on a fine grain. (As
usual, *if* the compiler does interprocedural analysis, it can figure
out exactly which partitions are necessary.)

> it
> requires that many extra passes through the compiler for each
> code (at least through the code generation phase of the compiler);

I pointed this out in the article you're studying. Yes, Jim, if you
generate code that assumes aliasing and code that does not, you have
indeed generated twice as much code.

> and it looks extremely cumbersome and unreliable.

It is not cumbersome, it is easy to implement, and it is perfectly
reliable.

> And, it _does_
> require modifications to the loader (at least to the extent of
> recognising all the long suffixes to the procedure names which
> describe which combination of aliasing is allowed in each object
> code version).

You are grasping at straws. The number of the partition chosen takes at
most a few bits to encode.

---Dan
Technical Details
Message-ID: <12004:Nov723:40:2890@kramden.acf.nyu.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!kramden.acf.nyu.edu!brnstnd
References: <6555:Nov720:35:2690@kramden.acf.nyu.edu> <5224@lanl.gov>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!kramden.acf.nyu.edu!brnstnd
From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein)
Newsgroups: comp.lang.misc
Subject: Re: Answers, Chapter 1: TeX
Message-ID: <12004:Nov723:40:2890@kramden.acf.nyu.edu>
Date: 7 Nov 90 23:40:28 GMT
References: <6555:Nov720:35:2690@kramden.acf.nyu.edu> <5224@lanl.gov>
Organization: IR
Lines: 45