[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [pooma-dev] Re: InlineEvaluator implementation question
From: |
Richard Guenther |
Subject: |
Re: [pooma-dev] Re: InlineEvaluator implementation question |
Date: |
Mon, 16 Dec 2002 21:00:35 +0100 (CET) |
On Mon, 16 Dec 2002, Mark Mitchell wrote:
>
> > Hmm - as both, lhs and rhs are declared const, isnt this enough to tell
> > the compiler? Or has the compiler to assume every function call can have
> > a side-effect on any (but local) variable?
>
> This is the classic "pointer aliasing" problem for compilers; the
> modifications to lhs (via the write operatin in the loop) might,
> from the compiler's point of view, change the rhs. The copies allow
> a good compiler to tell that this cannot happen.
Ah, of course. But only change the data (via the engines data pointer
which is aliasing), the lhs/rhs objects themselves usually will not alias
as they are of different types (in nearly all cases). So the copy doesnt
help the aliasing problem?
> > Well, at least gcc creates worse (larger) code with copying than without.
>
> Yes; GCC has a ways to go in this regard.
>
> --
> Mark Mitchell address@hidden
> CodeSourcery, LLC http://www.codesourcery.com
>