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>
2002-05-06 Roger Sayle <roger@eyesopen.com>
PR opt/3995
PR opt/3995
...
...
gcc/doc/rtl.texi
View file @
4afe3952
...
@@ -371,7 +371,7 @@ to access them.
...
@@ -371,7 +371,7 @@ to access them.
RTL
expressions
contain
several
flags
(
one
-
bit
bit
-
fields
)
RTL
expressions
contain
several
flags
(
one
-
bit
bit
-
fields
)
that
are
used
in
certain
types
of
expression
.
Most
often
they
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
@table
@code
@findex
CONSTANT_POOL_ADDRESS_P
@findex
CONSTANT_POOL_ADDRESS_P
...
@@ -413,9 +413,16 @@ Stored in the @code{in_struct} field and printed as @samp{/s}.
...
@@ -413,9 +413,16 @@ Stored in the @code{in_struct} field and printed as @samp{/s}.
@findex
INSN_DELETED_P
@findex
INSN_DELETED_P
@cindex
@code{
insn
}
and
@samp{
/
v
}
@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
}
)
@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
}
.
@code{
volatil
}
field
and
printed
as
@samp{
/
v
}
.
@findex
INSN_FROM_TARGET_P
@findex
INSN_FROM_TARGET_P
...
@@ -441,39 +448,23 @@ label. Stored in the @code{in_struct} field and printed as @samp{/s}.
...
@@ -441,39 +448,23 @@ label. Stored in the @code{in_struct} field and printed as @samp{/s}.
@findex
LABEL_PRESERVE_P
@findex
LABEL_PRESERVE_P
@cindex
@code{
code_label
}
and
@samp{
/
i
}
@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
}
)
@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
.
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
Labels
referenced
by
a
non
-
local
goto
will
have
this
bit
set
.
Stored
in
the
@code{
in_struct
}
field
and
printed
as
@samp{
/
s
}
.
in
the
@code{
in_struct
}
field
and
printed
as
@samp{
/
s
}
.
@findex
LABEL_REF_NONLOCAL_P
@findex
LABEL_REF_NONLOCAL_P
@cindex
@code{
label_ref
}
and
@samp{
/
v
}
@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
}
)
@item
LABEL_REF_NONLOCAL_P
(
@var{
x
}
)
In
@code{
label_ref
}
and
@code{
reg_label
}
expressions
,
nonzero
if
this
is
In
@code{
label_ref
}
and
@code{
reg_label
}
expressions
,
nonzero
if
this
is
a
reference
to
a
non
-
local
label
.
a
reference
to
a
non
-
local
label
.
Stored
in
the
@code{
volatil
}
field
and
printed
as
@samp{
/
v
}
.
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
@findex
MEM_IN_STRUCT_P
@cindex
@code{
mem
}
and
@samp{
/
s
}
@cindex
@code{
mem
}
and
@samp{
/
s
}
@cindex
@code{
in_struct
}
,
in
@code{
mem
}
@cindex
@code{
in_struct
}
,
in
@code{
mem
}
...
@@ -508,7 +499,8 @@ Stored in the @code{frame_related} field and printed as @samp{/f}.
...
@@ -508,7 +499,8 @@ Stored in the @code{frame_related} field and printed as @samp{/f}.
@findex
MEM_VOLATILE_P
@findex
MEM_VOLATILE_P
@cindex
@code{
mem
}
and
@samp{
/
v
}
@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
}
)
@item
MEM_VOLATILE_P
(
@var{
x
}
)
In
@code{
mem
}
and
@code{
asm_operands
}
expressions
,
nonzero
for
volatile
In
@code{
mem
}
and
@code{
asm_operands
}
expressions
,
nonzero
for
volatile
memory
references
.
memory
references
.
...
@@ -553,9 +545,14 @@ in this kind of use.
...
@@ -553,9 +545,14 @@ in this kind of use.
@findex
RTX_FRAME_RELATED_P
@findex
RTX_FRAME_RELATED_P
@cindex
@code{
insn
}
and
@samp{
/
f
}
@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
}
)
@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
.
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
This
flag
should
also
be
set
on
an
instruction
that
sets
up
a
temporary
register
to
use
in
place
of
the
frame
pointer
.
register
to
use
in
place
of
the
frame
pointer
.
...
@@ -582,26 +579,43 @@ prologues.
...
@@ -582,26 +579,43 @@ prologues.
@findex
RTX_INTEGRATED_P
@findex
RTX_INTEGRATED_P
@cindex
@code{
insn
}
and
@samp{
/
i
}
@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
}
)
@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
.
resulted
from
an
in
-
line
function
call
.
Stored
in
the
@code{
integrated
}
field
and
printed
as
@samp{
/
i
}
.
Stored
in
the
@code{
integrated
}
field
and
printed
as
@samp{
/
i
}
.
@findex
RTX_UNCHANGING_P
@findex
RTX_UNCHANGING_P
@cindex
@code{
reg
}
and
@samp{
/
u
}
@cindex
@code{
reg
}
and
@samp{
/
u
}
@cindex
@code{
mem
}
and
@samp{
/
u
}
@cindex
@code{
mem
}
and
@samp{
/
u
}
@cindex
@code{
concat
}
and
@samp{
/
u
}
@cindex
@code{
unchanging
}
,
in
@code{
reg
}
and
@code{
mem
}
@cindex
@code{
unchanging
}
,
in
@code{
reg
}
and
@code{
mem
}
@item
RTX_UNCHANGING_P
(
@var{
x
}
)
@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
.
anywhere
.
This
does
not
mean
that
it
is
function
invariant
.
Stored
in
the
@code{
unchanging
}
field
and
printed
as
@samp{
/
u
}
.
Stored
in
the
@code{
unchanging
}
field
and
printed
as
@samp{
/
u
}
.
@findex
SCHED_GROUP_P
@findex
SCHED_GROUP_P
@cindex
@code{
insn
}
and
@samp{
/
i
}
@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
}
)
@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
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
ensure
that
certain
groups
of
instructions
will
not
be
split
up
by
the
instruction
scheduling
pass
,
for
example
,
@code{
use
}
insns
before
instruction
scheduling
pass
,
for
example
,
@code{
use
}
insns
before
...
@@ -696,8 +710,7 @@ These are the fields to which the above macros refer:
...
@@ -696,8 +710,7 @@ These are the fields to which the above macros refer:
@findex
call
@findex
call
@cindex
@samp{
/
c
}
in
RTL
dump
@cindex
@samp{
/
c
}
in
RTL
dump
@item
call
@item
call
In
the
@code{
LOG_LINKS
}
of
an
@code{
insn_list
}
during
scheduling
,
1
means
that
This
flag
is
currently
unused
.
the
cost
of
executing
an
instruction
through
the
link
is
zero
.
In
an
RTL
dump
,
this
flag
is
represented
as
@samp{
/
c
}
.
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.
...
@@ -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
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
}
.
In
an
RTL
dump
,
this
flag
is
represented
as
@samp{
/
j
}
.
@findex
unchanging
@findex
unchanging
...
@@ -793,7 +803,8 @@ that the value of the expression never changes.
...
@@ -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
In
@code{
subreg
}
expressions
,
it
is
1
if
the
@code{
subreg
}
references
an
unsigned
object
whose
mode
has
been
promoted
to
a
wider
mode
.
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
In
a
@code{
symbol_ref
}
expression
,
1
means
that
this
symbol
addresses
something
in
the
per
-
function
constant
pool
.
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