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
b55f96db
Commit
b55f96db
authored
Apr 15, 1996
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(find_dead_or_set_registers): Only kill spill regs after label made
before jump2. From-SVN: r11778
parent
bf8b4985
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
5 deletions
+12
-5
gcc/reorg.c
+12
-5
No files found.
gcc/reorg.c
View file @
b55f96db
...
...
@@ -133,6 +133,10 @@ Boston, MA 02111-1307, USA. */
/* Import list of registers used as spill regs from reload. */
extern
HARD_REG_SET
used_spill_regs
;
/* Import highest label used in function at end of reload. */
extern
int
max_label_num_after_reload
;
#ifdef DELAY_SLOTS
#define obstack_chunk_alloc xmalloc
...
...
@@ -2468,11 +2472,14 @@ find_dead_or_set_registers (target, res, jump_target, jump_count, set, needed)
AND_COMPL_HARD_REG_SET
(
res
->
regs
,
pending_dead_regs
);
CLEAR_HARD_REG_SET
(
pending_dead_regs
);
/* All spill registers are dead at a label, so kill all of the
ones that aren't needed also. */
COPY_HARD_REG_SET
(
scratch
,
used_spill_regs
);
AND_COMPL_HARD_REG_SET
(
scratch
,
needed
.
regs
);
AND_COMPL_HARD_REG_SET
(
res
->
regs
,
scratch
);
if
(
CODE_LABEL_NUMBER
(
insn
)
<
max_label_num_after_reload
)
{
/* All spill registers are dead at a label, so kill all of the
ones that aren't needed also. */
COPY_HARD_REG_SET
(
scratch
,
used_spill_regs
);
AND_COMPL_HARD_REG_SET
(
scratch
,
needed
.
regs
);
AND_COMPL_HARD_REG_SET
(
res
->
regs
,
scratch
);
}
continue
;
case
BARRIER
:
...
...
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