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
cde43acd
Commit
cde43acd
authored
Sep 14, 2012
by
Richard Earnshaw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Temporarily revert previous
From-SVN: r191306
parent
57132d23
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
2 additions
and
13 deletions
+2
-13
gcc/ChangeLog
+0
-5
gcc/reload.c
+2
-8
No files found.
gcc/ChangeLog
View file @
cde43acd
2012-09-14 Richard Earnshaw <rearnsha@arm.com>
* reload.c (find_dummy_reload): Don't use OUT as a reload reg
for IN if it overlaps a fixed register.
2012-09-14 Eric Botcazou <ebotcazou@adacore.com>
2012-09-14 Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/44194
PR rtl-optimization/44194
...
...
gcc/reload.c
View file @
cde43acd
...
@@ -2036,12 +2036,7 @@ find_dummy_reload (rtx real_in, rtx real_out, rtx *inloc, rtx *outloc,
...
@@ -2036,12 +2036,7 @@ find_dummy_reload (rtx real_in, rtx real_out, rtx *inloc, rtx *outloc,
However, we only ignore IN in its role as this reload.
However, we only ignore IN in its role as this reload.
If the insn uses IN elsewhere and it contains OUT,
If the insn uses IN elsewhere and it contains OUT,
that counts. We can't be sure it's the "same" operand
that counts. We can't be sure it's the "same" operand
so it might not go through this reload.
so it might not go through this reload. */
We also need to avoid using OUT if it, or part of it, is a
fixed register. Modifying such registers, even transiently,
may have undefined effects on the machine, such as modifying
the stack pointer. */
saved_rtx
=
*
inloc
;
saved_rtx
=
*
inloc
;
*
inloc
=
const0_rtx
;
*
inloc
=
const0_rtx
;
...
@@ -2054,8 +2049,7 @@ find_dummy_reload (rtx real_in, rtx real_out, rtx *inloc, rtx *outloc,
...
@@ -2054,8 +2049,7 @@ find_dummy_reload (rtx real_in, rtx real_out, rtx *inloc, rtx *outloc,
for
(
i
=
0
;
i
<
nwords
;
i
++
)
for
(
i
=
0
;
i
<
nwords
;
i
++
)
if
(
!
TEST_HARD_REG_BIT
(
reg_class_contents
[(
int
)
rclass
],
if
(
!
TEST_HARD_REG_BIT
(
reg_class_contents
[(
int
)
rclass
],
regno
+
i
)
regno
+
i
))
||
fixed_regs
[
regno
+
i
])
break
;
break
;
if
(
i
==
nwords
)
if
(
i
==
nwords
)
...
...
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