Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
4afe3952
Commit
4afe3952
authored
May 06, 2002
by
Janis Johnson
Committed by
Janis Johnson
May 06, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* doc/rtl.texi (Flags): Update to reflect current usage.
From-SVN: r53242
parent
1f77b5da
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
53 additions
and
38 deletions
+53
-38
gcc/ChangeLog
+4
-0
gcc/doc/rtl.texi
+49
-38
No files found.
gcc/ChangeLog
View file @
4afe3952
2002-05-06 Janis Johnson <janis187@us.ibm.com>
* doc/rtl.texi (Flags): Update to reflect current usage.
2002-05-06 Roger Sayle <roger@eyesopen.com>
PR opt/3995
...
...
gcc/doc/rtl.texi
View file @
4afe3952
...
...
@@ -371,7 +371,7 @@ to access them.
RTL
expressions
contain
several
flags
(
one
-
bit
bit
-
fields
)
that
are
used
in
certain
types
of
expression
.
Most
often
they
are
accessed
with
the
following
macros
,
which
expand
into
lvalues
:
are
accessed
with
the
following
macros
,
which
expand
into
lvalues
.
@table
@code
@findex
CONSTANT_POOL_ADDRESS_P
...
...
@@ -413,9 +413,16 @@ Stored in the @code{in_struct} field and printed as @samp{/s}.
@findex
INSN_DELETED_P
@cindex
@code{
insn
}
and
@samp{
/
v
}
@cindex
@code{
volatil
}
,
in
@code{
insn
}
@cindex
@code{
call_insn
}
and
@samp{
/
v
}
@cindex
@code{
jump_insn
}
and
@samp{
/
v
}
@cindex
@code{
code_label
}
and
@samp{
/
v
}
@cindex
@code{
barrier
}
and
@samp{
/
v
}
@cindex
@code{
note
}
and
@samp{
/
v
}
@cindex
@code{
volatil
}
,
in
@code{
insn
}
,
@code{
call_insn
}
,
@code{
jump_insn
}
,
@code{
code_label
}
,
@code{
barrier
}
,
and
@code{
note
}
@item
INSN_DELETED_P
(
@var{
x
}
)
In
an
@code{
insn
}
,
nonzero
if
the
insn
has
been
deleted
.
Stored
in
the
In
an
@code{
insn
}
,
@code{
call_insn
}
,
@code{
jump_insn
}
,
@code{
code_label
}
,
@code{
barrier
}
,
or
@code{
note
}
,
nonzero
if
the
insn
has
been
deleted
.
Stored
in
the
@code{
volatil
}
field
and
printed
as
@samp{
/
v
}
.
@findex
INSN_FROM_TARGET_P
...
...
@@ -441,39 +448,23 @@ label. Stored in the @code{in_struct} field and printed as @samp{/s}.
@findex
LABEL_PRESERVE_P
@cindex
@code{
code_label
}
and
@samp{
/
i
}
@cindex
@code{
in_struct
}
,
in
@code{
code_label
}
@cindex
@code{
note
}
and
@samp{
/
i
}
@cindex
@code{
in_struct
}
,
in
@code{
code_label
}
and
@code{
note
}
@item
LABEL_PRESERVE_P
(
@var{
x
}
)
In
a
@code{
code_label
}
,
indicates
that
the
label
is
referenced
by
In
a
@code{
code_label
}
or
@code{
note
}
,
indicates
that
the
label
is
referenced
by
code
or
data
not
visible
to
the
RTL
of
a
given
function
.
Labels
referenced
by
a
non
-
local
goto
will
have
this
bit
set
.
Stored
in
the
@code{
in_struct
}
field
and
printed
as
@samp{
/
s
}
.
@findex
LABEL_REF_NONLOCAL_P
@cindex
@code{
label_ref
}
and
@samp{
/
v
}
@cindex
@code{
volatil
}
,
in
@code{
label_ref
}
@cindex
@code{
reg_label
}
and
@samp{
/
v
}
@cindex
@code{
volatil
}
,
in
@code{
label_ref
}
and
@code{
reg_label
}
@item
LABEL_REF_NONLOCAL_P
(
@var{
x
}
)
In
@code{
label_ref
}
and
@code{
reg_label
}
expressions
,
nonzero
if
this
is
a
reference
to
a
non
-
local
label
.
Stored
in
the
@code{
volatil
}
field
and
printed
as
@samp{
/
v
}
.
@findex
LINK_COST_FREE
@cindex
@code{
insn_list
}
and
@samp{
/
c
}
@cindex
@code{
call
}
,
in
@code{
insn_list
}
@item
LINK_COST_FREE
(
@var{
x
}
)
In
the
@code{
LOG_LINKS
}
@code{
insn_list
}
during
scheduling
,
nonzero
when
the
cost
of
executing
an
instruction
through
the
link
is
zero
,
i
.
e
.,
the
link
makes
the
cost
free
.
Stored
in
the
@code{
call
}
field
and
printed
as
@samp{
/
c
}
.
@findex
LINK_COST_ZERO
@cindex
@code{
insn_list
}
and
@samp{
/
j
}
@cindex
@code{
jump
}
,
in
@code{
insn_list
}
@item
LINK_COST_ZERO
(
@var{
x
}
)
In
the
@code{
LOG_LINKS
}
@code{
insn_list
}
during
scheduling
,
nonzero
when
the
cost
of
executing
an
instruction
through
the
link
varies
and
is
unchanged
,
i
.
e
.,
the
link
has
zero
additional
cost
.
Stored
in
the
@code{
jump
}
field
and
printed
as
@samp{
/
j
}
.
@findex
MEM_IN_STRUCT_P
@cindex
@code{
mem
}
and
@samp{
/
s
}
@cindex
@code{
in_struct
}
,
in
@code{
mem
}
...
...
@@ -508,7 +499,8 @@ Stored in the @code{frame_related} field and printed as @samp{/f}.
@findex
MEM_VOLATILE_P
@cindex
@code{
mem
}
and
@samp{
/
v
}
@cindex
@code{
volatil
}
,
in
@code{
mem
}
@cindex
@code{
asm_operands
}
and
@samp{
/
v
}
@cindex
@code{
volatil
}
,
in
@code{
mem
}
and
@code{
asm_operands
}
@item
MEM_VOLATILE_P
(
@var{
x
}
)
In
@code{
mem
}
and
@code{
asm_operands
}
expressions
,
nonzero
for
volatile
memory
references
.
...
...
@@ -553,9 +545,14 @@ in this kind of use.
@findex
RTX_FRAME_RELATED_P
@cindex
@code{
insn
}
and
@samp{
/
f
}
@cindex
@code{
frame_related
}
,
in
@code{
insn
}
@cindex
@code{
call_insn
}
and
@samp{
/
f
}
@cindex
@code{
jump_insn
}
and
@samp{
/
f
}
@cindex
@code{
barrier
}
and
@samp{
/
f
}
@cindex
@code{
set
}
and
@samp{
/
f
}
@cindex
@code{
frame_related
}
,
in
@code{
insn
}
,
@code{
call_insn
}
,
@code{
jump_insn
}
,
@code{
barrier
}
,
and
@code{
set
}
@item
RTX_FRAME_RELATED_P
(
@var{
x
}
)
Nonzero
in
an
@code{
insn
}
or
@code{
set
}
which
is
part
of
a
function
prologue
Nonzero
in
an
@code{
insn
}
,
@code{
call_insn
}
,
@code{
jump_insn
}
,
@code{
barrier
}
,
or
@code{
set
}
which
is
part
of
a
function
prologue
and
sets
the
stack
pointer
,
sets
the
frame
pointer
,
or
saves
a
register
.
This
flag
should
also
be
set
on
an
instruction
that
sets
up
a
temporary
register
to
use
in
place
of
the
frame
pointer
.
...
...
@@ -582,26 +579,43 @@ prologues.
@findex
RTX_INTEGRATED_P
@cindex
@code{
insn
}
and
@samp{
/
i
}
@cindex
@code{
integrated
}
,
in
@code{
insn
}
@cindex
@code{
call_insn
}
and
@samp{
/
i
}
@cindex
@code{
jump_insn
}
and
@samp{
/
i
}
@cindex
@code{
barrier
}
and
@samp{
/
i
}
@cindex
@code{
code_label
}
and
@samp{
/
i
}
@cindex
@code{
insn_list
}
and
@samp{
/
i
}
@cindex
@code{
const
}
and
@samp{
/
i
}
@cindex
@code{
note
}
and
@samp{
/
i
}
@cindex
@code{
integrated
}
,
in
@code{
insn
}
,
@code{
call_insn
}
,
@code{
jump_insn
}
,
@code{
barrier
}
,
@code{
code_label
}
,
@code{
insn_list
}
,
@code{
const
}
,
and
@code{
note
}
@item
RTX_INTEGRATED_P
(
@var{
x
}
)
Nonzero
in
an
@code{
insn
}
,
@code{
insn_list
}
,
or
@code{
const
}
if
it
Nonzero
in
an
@code{
insn
}
,
@code{
call_insn
}
,
@code{
jump_insn
}
,
@code{
barrier
}
,
@code{
code_label
}
,
@code{
insn_list
}
,
@code{
const
}
,
or
@code{
note
}
if
it
resulted
from
an
in
-
line
function
call
.
Stored
in
the
@code{
integrated
}
field
and
printed
as
@samp{
/
i
}
.
@findex
RTX_UNCHANGING_P
@cindex
@code{
reg
}
and
@samp{
/
u
}
@cindex
@code{
mem
}
and
@samp{
/
u
}
@cindex
@code{
concat
}
and
@samp{
/
u
}
@cindex
@code{
unchanging
}
,
in
@code{
reg
}
and
@code{
mem
}
@item
RTX_UNCHANGING_P
(
@var{
x
}
)
Nonzero
in
a
@code{
reg
}
or
@code{
mem
}
if
the
memory
is
set
at
most
once
,
Nonzero
in
a
@code{
reg
}
,
@code{
mem
}
,
or
@code{
concat
}
if
the
memory
is
set
at
most
once
,
anywhere
.
This
does
not
mean
that
it
is
function
invariant
.
Stored
in
the
@code{
unchanging
}
field
and
printed
as
@samp{
/
u
}
.
@findex
SCHED_GROUP_P
@cindex
@code{
insn
}
and
@samp{
/
i
}
@cindex
@code{
in_struct
}
,
in
@code{
insn
}
@cindex
@code{
call_insn
}
and
@samp{
/
i
}
@cindex
@code{
jump_insn
}
and
@samp{
/
i
}
@cindex
@code{
code_label
}
and
@samp{
/
i
}
@cindex
@code{
barrier
}
and
@samp{
/
i
}
@cindex
@code{
note
}
and
@samp{
/
i
}
@cindex
@code{
in_struct
}
,
in
@code{
insn
}
,
@code{
jump_insn
}
,
@code{
call_insn
}
,
@code{
code_label
}
,
@code{
barrier
}
,
and
@code{
note
}
@item
SCHED_GROUP_P
(
@var{
x
}
)
During
instruction
scheduling
,
in
an
@code{
insn
}
,
indicates
that
the
During
instruction
scheduling
,
in
an
@code{
insn
}
,
@code{
call_insn
}
,
@code{
jump_insn
}
,
@code{
code_label
}
,
@code{
barrier
}
,
or
@code{
note
}
,
indicates
that
the
previous
insn
must
be
scheduled
together
with
this
insn
.
This
is
used
to
ensure
that
certain
groups
of
instructions
will
not
be
split
up
by
the
instruction
scheduling
pass
,
for
example
,
@code{
use
}
insns
before
...
...
@@ -696,8 +710,7 @@ These are the fields to which the above macros refer:
@findex
call
@cindex
@samp{
/
c
}
in
RTL
dump
@item
call
In
the
@code{
LOG_LINKS
}
of
an
@code{
insn_list
}
during
scheduling
,
1
means
that
the
cost
of
executing
an
instruction
through
the
link
is
zero
.
This
flag
is
currently
unused
.
In
an
RTL
dump
,
this
flag
is
represented
as
@samp{
/
c
}
.
...
...
@@ -779,9 +792,6 @@ In a @code{set}, 1 means it is for a return.
In
a
@code{
call_insn
}
,
1
means
it
is
a
sibling
call
.
In
the
@code{
LOG_LINKS
}
of
an
@code{
insn_list
}
during
scheduling
,
1
means
the
cost
of
executing
an
instruction
through
the
link
varies
and
is
unchanging
.
In
an
RTL
dump
,
this
flag
is
represented
as
@samp{
/
j
}
.
@findex
unchanging
...
...
@@ -793,7 +803,8 @@ that the value of the expression never changes.
In
@code{
subreg
}
expressions
,
it
is
1
if
the
@code{
subreg
}
references
an
unsigned
object
whose
mode
has
been
promoted
to
a
wider
mode
.
In
an
@code{
insn
}
,
1
means
that
this
is
an
annulling
branch
.
In
an
@code{
insn
}
in
the
delay
slot
of
a
branch
instruction
,
1
means
an
annulling
branch
should
be
used
.
In
a
@code{
symbol_ref
}
expression
,
1
means
that
this
symbol
addresses
something
in
the
per
-
function
constant
pool
.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment