Refine last change.

From-SVN: r65915
This commit is contained in:
Richard Kenner 2003-04-21 18:39:26 -04:00
parent 3cd58fd7ce
commit 4f0baa737f

View File

@ -725,10 +725,21 @@ Stored in the @code{integrated} field and printed as @samp{/i}.
@item RTX_UNCHANGING_P (@var{x})
Nonzero in a @code{reg}, @code{mem}, or @code{concat} if the register or
memory is set at most once, anywhere. This does not mean that it is
function invariant. This flag is used to determine whether two
references conflict. See @code{tree_dependence} in @file{alias.c} for
more details. Stored in the @code{unchanging} field and printed as
@samp{/u}.
function invariant.
GCC uses this flag to determine whether two references conflict. As
implemented by @code{true_dependence} in @file{alias.c} for memory
references, unchanging memory can't conflict with non-unchanging memory;
a non-unchanging read can conflict with a non-unchanging write; an
unchanging read can conflict with an unchanging write (since there may
be a single store to this address to initialize it); and an unchanging
store can conflict with a non-unchanging read. This means we must make
conservative assumptions when chosing the value of this flag for a
memory reference to an object containing both unchanging and
non-unchanging fields: we must set the flag when writing to the object
and clear it when reading from the object.
Stored in the @code{unchanging} field and printed as @samp{/u}.
@findex SCHED_GROUP_P
@cindex @code{insn} and @samp{/s}