mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 20:39:43 +08:00
Refine last change.
From-SVN: r65915
This commit is contained in:
parent
3cd58fd7ce
commit
4f0baa737f
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user