Index Home About Blog
Date: Wed, 22 Apr 2009 13:59:12 +0200
From: Terje Mathisen <"terje.mathisen at tmsw.no">
Newsgroups: comp.arch
Subject: Re: The coming death of all RISC chips.
Message-ID: <mvWdnYmo_8cPm3LUnZ2dnUVZ_v-dnZ2d@giganews.com>

EricP wrote:
> It is invisible aliasing that prevents common subexpression
> elimination, loop invariant hoisting, and enregistering values
> (off hand, I can't think of anything else it affects).
> With aliasing removed, these can be maximized since actual,
> intentional, aliasing should be quite rare.

Aliasing is indeed a huge problem, and I really think Fortran is far
better than C here: If you actually do need to alias something, then
that needs to have a hugely obvious flag around it.

In my own code I sometimes copy variables explicitly into local
(stack/auto) storage (and write them back afterwards, if needed), just
to make it absolutely clear that none of these can ever alias anything.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Index Home About Blog