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
ef906381
Commit
ef906381
authored
Feb 23, 2003
by
Kazu Hirata
Committed by
Kazu Hirata
Feb 23, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* gcse.c (cprop_jump): Use the REG_EQUAL note if available.
From-SVN: r63332
parent
7b652bb8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
6 deletions
+24
-6
gcc/ChangeLog
+4
-0
gcc/gcse.c
+20
-6
No files found.
gcc/ChangeLog
View file @
ef906381
2003
-
02
-
23
Kazu
Hirata
<
kazu
@cs
.
umass
.
edu
>
*
gcse
.
c
(
cprop_jump
)
:
Use
the
REG_EQUAL
note
if
available
.
2003
-
02
-
23
Kaveh
R
.
Ghazi
<
ghazi
@caip
.
rutgers
.
edu
>
*
doc
/
invoke
.
texi
(
ggc
-
min
-
expand
,
ggc
-
min
-
heapsize
)
:
Document
...
...
gcc/gcse.c
View file @
ef906381
...
...
@@ -4058,19 +4058,33 @@ cprop_jump (bb, setcc, jump, from, src)
&&
!
modified_between_p
(
src
,
setcc
,
jump
))
{
rtx
setcc_set
=
single_set
(
setcc
);
rtx
note
=
find_reg_equal_equiv_note
(
setcc
);
/* Use REG_EQUAL note if available. */
rtx
setcc_set_src
=
(
note
==
0
)
?
SET_SRC
(
setcc_set
)
:
XEXP
(
note
,
0
);
new_set
=
simplify_replace_rtx
(
SET_SRC
(
set
),
SET_DEST
(
setcc_set
),
SET_SRC
(
setcc_set
)
);
setcc_set_src
);
}
else
new_set
=
set
;
new
=
simplify_replace_rtx
(
new_set
,
from
,
src
);
/* If NEW_SET is simplified down to either a label or a no-op, we
don't have to replace FROM with SRC, but we still have to either
turn JUMP to an unconditional branch or remove the no-op. This
can happen if JUMP is simplified using the REG_EQUAL note in
SETCC. */
if
(
GET_CODE
(
new_set
)
==
LABEL_REF
||
new_set
==
pc_rtx
)
new
=
new_set
;
else
{
new
=
simplify_replace_rtx
(
new_set
,
from
,
src
);
/* If no simplification can be made, then try the next
register. */
if
(
rtx_equal_p
(
new
,
new_set
)
||
rtx_equal_p
(
new
,
SET_SRC
(
set
)))
return
0
;
/* If no simplification can be made, then try the next
register. */
if
(
rtx_equal_p
(
new
,
new_set
)
||
rtx_equal_p
(
new
,
SET_SRC
(
set
)))
return
0
;
}
/* If this is now a no-op delete it, otherwise this must be a valid insn. */
if
(
new
==
pc_rtx
)
...
...
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