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
05b4c365
Commit
05b4c365
authored
Aug 04, 1993
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(eliminate_regs_in_insn): Always do elimination in REG_NOTES if we
changed anything in the insn. From-SVN: r5069
parent
065e678f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
4 deletions
+9
-4
gcc/reload1.c
+9
-4
No files found.
gcc/reload1.c
View file @
05b4c365
...
@@ -3158,8 +3158,7 @@ eliminate_regs_in_insn (insn, replace)
...
@@ -3158,8 +3158,7 @@ eliminate_regs_in_insn (insn, replace)
old_asm_operands_vec
=
0
;
old_asm_operands_vec
=
0
;
/* Replace the body of this insn with a substituted form. If we changed
/* Replace the body of this insn with a substituted form. If we changed
something, return non-zero. If this is the final call for this
something, return non-zero.
insn (REPLACE is non-zero), do the elimination in REG_NOTES as well.
If we are replacing a body that was a (set X (plus Y Z)), try to
If we are replacing a body that was a (set X (plus Y Z)), try to
re-recognize the insn. We do this in case we had a simple addition
re-recognize the insn. We do this in case we had a simple addition
...
@@ -3197,8 +3196,6 @@ eliminate_regs_in_insn (insn, replace)
...
@@ -3197,8 +3196,6 @@ eliminate_regs_in_insn (insn, replace)
else
else
PATTERN
(
insn
)
=
new_body
;
PATTERN
(
insn
)
=
new_body
;
if
(
replace
&&
REG_NOTES
(
insn
))
REG_NOTES
(
insn
)
=
eliminate_regs
(
REG_NOTES
(
insn
),
0
,
NULL_RTX
);
val
=
1
;
val
=
1
;
}
}
...
@@ -3240,6 +3237,14 @@ eliminate_regs_in_insn (insn, replace)
...
@@ -3240,6 +3237,14 @@ eliminate_regs_in_insn (insn, replace)
}
}
done
:
done
:
/* If we changed something, perform elmination in REG_NOTES. This is
needed even when REPLACE is zero because a REG_DEAD note might refer
to a register that we eliminate and could cause a different number
of spill registers to be needed in the final reload pass than in
the pre-passes. */
if
(
val
)
REG_NOTES
(
insn
)
=
eliminate_regs
(
REG_NOTES
(
insn
),
0
,
NULL_RTX
);
if
(
!
replace
)
if
(
!
replace
)
pop_obstacks
();
pop_obstacks
();
...
...
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