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
fd973d56
Commit
fd973d56
authored
Feb 19, 2002
by
Jan Hubicka
Committed by
Jan Hubicka
Feb 19, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* regmove.c (regmove_optimize): Avoid increasing of register pressure.
From-SVN: r49864
parent
419a71d3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
11 deletions
+19
-11
gcc/ChangeLog
+4
-0
gcc/regmove.c
+15
-11
No files found.
gcc/ChangeLog
View file @
fd973d56
Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
* regmove.c (regmove_optimize): Avoid increasing of register pressure.
2002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
2002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
PR other/5718
PR other/5718
...
...
gcc/regmove.c
View file @
fd973d56
...
@@ -1328,19 +1328,22 @@ regmove_optimize (f, nregs, regmove_dump_file)
...
@@ -1328,19 +1328,22 @@ regmove_optimize (f, nregs, regmove_dump_file)
}
}
src_class
=
reg_preferred_class
(
REGNO
(
src
));
src_class
=
reg_preferred_class
(
REGNO
(
src
));
dst_class
=
reg_preferred_class
(
REGNO
(
dst
));
dst_class
=
reg_preferred_class
(
REGNO
(
dst
));
if
(
!
regclass_compatible_p
(
src_class
,
dst_class
))
if
(
!
(
src_note
=
find_reg_note
(
insn
,
REG_DEAD
,
src
)))
{
{
if
(
!
copy_src
)
/* We used to force the copy here like in other cases, but
{
it produces worse code, as it eliminates no copy
copy_src
=
src
;
instructions and the copy emitted will be produced by
copy_dst
=
dst
;
reload anyway. On patterns with multiple alternatives,
}
there may be better sollution availble.
In particular this change produced slower code for numeric
i387 programs. */
continue
;
continue
;
}
}
/* Can not modify an earlier insn to set dst if this insn
if
(
!
regclass_compatible_p
(
src_class
,
dst_class
))
uses an old value in the source. */
if
(
reg_overlap_mentioned_p
(
dst
,
SET_SRC
(
set
)))
{
{
if
(
!
copy_src
)
if
(
!
copy_src
)
{
{
...
@@ -1350,7 +1353,9 @@ regmove_optimize (f, nregs, regmove_dump_file)
...
@@ -1350,7 +1353,9 @@ regmove_optimize (f, nregs, regmove_dump_file)
continue
;
continue
;
}
}
if
(
!
(
src_note
=
find_reg_note
(
insn
,
REG_DEAD
,
src
)))
/* Can not modify an earlier insn to set dst if this insn
uses an old value in the source. */
if
(
reg_overlap_mentioned_p
(
dst
,
SET_SRC
(
set
)))
{
{
if
(
!
copy_src
)
if
(
!
copy_src
)
{
{
...
@@ -1360,7 +1365,6 @@ regmove_optimize (f, nregs, regmove_dump_file)
...
@@ -1360,7 +1365,6 @@ regmove_optimize (f, nregs, regmove_dump_file)
continue
;
continue
;
}
}
/* If src is set once in a different basic block,
/* If src is set once in a different basic block,
and is set equal to a constant, then do not use
and is set equal to a constant, then do not use
it for this optimization, as this would make it
it for this optimization, as this would make it
...
...
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