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