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
41c6dd59
Commit
41c6dd59
authored
May 22, 2006
by
Kazu Hirata
Committed by
Kazu Hirata
May 22, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rtl.texi: Fix a typo.
* doc/rtl.texi: Fix a typo. * see.c: Fix comment typos. From-SVN: r113969
parent
aea8e035
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
9 deletions
+14
-9
gcc/ChangeLog
+5
-0
gcc/doc/rtl.texi
+1
-1
gcc/see.c
+8
-8
No files found.
gcc/ChangeLog
View file @
41c6dd59
2006
-
05
-
22
Kazu
Hirata
<
kazu
@codesourcery
.
com
>
*
doc
/
rtl
.
texi
:
Fix
a
typo
.
*
see
.
c
:
Fix
comment
typos
.
2006
-
05
-
21
Mike
Stump
<
mrs
@apple
.
com
>
*
config
/
darwin
-
c
.
c
(
BAD
)
:
Conditionalize
on
OPT_Wpragmas
.
...
...
gcc/doc/rtl.texi
View file @
41c6dd59
...
...
@@ -2014,7 +2014,7 @@ fixed-point mode.
@cindex
arithmetic
shift
with
signed
saturation
@item
(
ashift
:
@var
{
m
}
@var
{
x
}
@var
{
c
})
@itemx
(
ss_ashift
:
@var
{
m
}
@var
{
x
}
@var
{
c
})
These
two
expressions
epresent
the
result
of
arithmetically
shifting
@var
{
x
}
These
two
expressions
r
epresent
the
result
of
arithmetically
shifting
@var
{
x
}
left
by
@var
{
c
}
places
.
They
differ
in
their
behavior
on
overflow
of
integer
modes
.
An
@code
{
ashift
}
operation
is
a
plain
shift
with
no
special
behaviour
in
case
of
a
change
in
the
sign
bit
;
@code{
ss_ashift
}
saturates
to
the
minimum
...
...
gcc/see.c
View file @
41c6dd59
...
...
@@ -533,7 +533,7 @@ struct see_ref_s
/* The insn of the ref. */
rtx
insn
;
/* The merged insn that was formed from the reference's insn and extensions.
If all merges faile it remains NULL. */
If all merges faile
d,
it remains NULL. */
rtx
merged_insn
;
/* The def extensions of the reference that were not merged with
it. */
...
...
@@ -751,7 +751,7 @@ see_get_extension_data (rtx extension, enum machine_mode *source_mode)
(the register r on both sides of the set is the same register).
And recognize it.
If the recognition failed, this is very bad, return NULL (This will abort
the enti
er
optimization).
the enti
re
optimization).
Otherwise, return the generated instruction. */
static
rtx
...
...
@@ -2134,7 +2134,7 @@ see_execute_LCM (void)
/* In this function we set the register properties for the register that is
defined and extended in the reference.
The properties are defined in see_register_properties structure which is
allocated per basic blo
a
ck and per register.
allocated per basic block and per register.
Later the extension is inserted into the see_pre_extension_hash for the next
phase of the optimization.
...
...
@@ -2205,7 +2205,7 @@ see_set_prop_merged_def (void **slot, void *b)
/* In this function we set the register properties for the register that is
defined but not extended in the reference.
The properties are defined in see_register_properties structure which is
allocated per basic blo
a
ck and per register.
allocated per basic block and per register.
Later the extension is inserted into the see_pre_extension_hash for the next
phase of the optimization.
...
...
@@ -2276,7 +2276,7 @@ see_set_prop_unmerged_def (void **slot, void *b)
/* In this function we set the register properties for the register that is used
in the reference.
The properties are defined in see_register_properties structure which is
allocated per basic blo
a
ck and per register.
allocated per basic block and per register.
When a redundant use extension is found it is removed from the hash of the
reference.
If the extension is non redundant it is inserted into the
...
...
@@ -2331,7 +2331,7 @@ see_set_prop_unmerged_use (void **slot, void *b)
else
if
(
curr_prop
->
last_def
<
0
&&
curr_prop
->
first_se_before_any_def
>=
0
)
{
/* In this case the extension is localy redundant. */
/* In this case the extension is local
l
y redundant. */
htab_clear_slot
(
curr_ref_s
->
use_se_hash
,
(
PTR
*
)
slot
);
locally_redundant
=
true
;
}
...
...
@@ -2341,7 +2341,7 @@ see_set_prop_unmerged_use (void **slot, void *b)
else
if
(
curr_prop
->
last_def
>=
0
&&
curr_prop
->
first_se_after_last_def
>=
0
)
{
/* In this case the extension is localy redundant. */
/* In this case the extension is local
l
y redundant. */
htab_clear_slot
(
curr_ref_s
->
use_se_hash
,
(
PTR
*
)
slot
);
locally_redundant
=
true
;
}
...
...
@@ -2694,7 +2694,7 @@ see_merge_one_use_extension (void **slot, void *b)
ref: set (dest_reg) (rhs)
def_se: set (dest_extension_reg) (sign/zero_extend (source_extension_reg))
where dest_reg and source_extension_reg can both be subregs (tog
a
ther)
where dest_reg and source_extension_reg can both be subregs (tog
e
ther)
and (REGNO (dest_reg) == REGNO (source_extension_reg))
The merge is done by generating, simplifying and recognizing the pattern:
...
...
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