Commit 4f0baa73 by Richard Kenner

Refine last change.

From-SVN: r65915
parent 3cd58fd7
...@@ -725,10 +725,21 @@ Stored in the @code{integrated} field and printed as @samp{/i}. ...@@ -725,10 +725,21 @@ Stored in the @code{integrated} field and printed as @samp{/i}.
@item RTX_UNCHANGING_P (@var{x}) @item RTX_UNCHANGING_P (@var{x})
Nonzero in a @code{reg}, @code{mem}, or @code{concat} if the register or 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 memory is set at most once, anywhere. This does not mean that it is
function invariant. This flag is used to determine whether two function invariant.
references conflict. See @code{tree_dependence} in @file{alias.c} for
more details. Stored in the @code{unchanging} field and printed as GCC uses this flag to determine whether two references conflict. As
@samp{/u}. 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 @findex SCHED_GROUP_P
@cindex @code{insn} and @samp{/s} @cindex @code{insn} and @samp{/s}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment