This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ICE in change_address at emit_rtl.c


    Using a LET_EXPR makes the scope explicit.  It is clear that the scope
    of the tmp lasts during the evaluation of the let-body, which is
    during the evaluation of the PLUS_EXPR.  Using a SAVE_EXPR, the scope
    of the temporary is "from the first time the SAVE_EXPR is evaluated
    until the last time the SAVE_EXPR is evaluated".  We cannot know what
    this is without analyzing the entire body of the function.

OK, I see what you mean.  But this is very much the exceptional case of
SAVE_EXPR.  The most common case is when you are putting it in the size
of offset inside a type.  You have the same scoping issues no matter what you
call it.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]