More on c-gimplify.c:gimplify_decl_stmt
Paul Brook
paul@codesourcery.com
Mon Jun 7 14:47:00 GMT 2004
On Monday 07 June 2004 02:42, Richard Kenner wrote:
> They are most certainly NOT constant. If they were constants, they'd
> be INTEGER_CST objects. And they ABSOLUTELY POSITIVELY do need to be
> visible to the optimizers. Failure to do so results in wrong answers,
> not some sort of lack of optimization.
>
> I didn't mean literally constants, I meant constants for a definable region
> of the program. More specifically, for the lifetime of the object in
> question. Let's call them "unchanging".
In Fortran the bounds of an array are not fixed for the lifetime of the
object. The "unchanging" property should be apparent by definition once it is
in SSA form.
AFAICS SAVE_EXPRs are just convenience nodes so the frontend doesn't have to
create an explicit temporary. I seem to remember problems recently regarding
exactly where SAVE_EXPRs were evaluated.
Paul
More information about the Gcc
mailing list