This is the mail archive of the gcc-patches@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: [PATCH] Hoist reciprocal invariant out of loop


On Sun, 2005-04-03 at 20:26 -0400, David Edelsohn wrote:
> >>>>> Zdenek Dvorak writes:
> 
> Zdenek> So you will get the current loop if DEF is not invariant in any
> Zdenek> superloop of LOOP (specially, if it is the outermost loop), and NULL,
> Zdenek> in case it is not invariant at all.
> 
> 	So it returns the outermost loop in which DEF remains invariant
> instead of the loop to which DEF should be moved to become variant.
> 
> 	What is the difference between outermost_invariant_loop() and
> outermost_invariant_loop_expr()?  I do not understand when to use one or
> the other based on the descriptions in the comments.
> 
> 	By the way, appended is the current version of the patch that
> moves all processing to determine_invariantness_stmt().  I needed to add a
> call to get_stmt_operands() that should have been unnecessary 


Note: It should be unnecessary because it's the users of the operands of
a statement that are supposed to call it, not the modifiers.  At least,
this is the way it was designed (so that it was lazily updated)

The fact that he has to call it means some user isn't doing it.



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