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
69685820
Commit
69685820
authored
Jun 06, 1996
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(assign_parms): Tighten up code that makes REG_EQUIV notes for parms.
From-SVN: r12186
parent
5fd7f37d
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
14 deletions
+19
-14
gcc/function.c
+19
-14
No files found.
gcc/function.c
View file @
69685820
...
@@ -3869,26 +3869,31 @@ assign_parms (fndecl, second_time)
...
@@ -3869,26 +3869,31 @@ assign_parms (fndecl, second_time)
XEXP
(
entry_parm
,
0
)))
XEXP
(
entry_parm
,
0
)))
{
{
rtx
linsn
=
get_last_insn
();
rtx
linsn
=
get_last_insn
();
rtx
sinsn
,
set
;
/* Mark complex types separately. */
/* Mark complex types separately. */
if
(
GET_CODE
(
parmreg
)
==
CONCAT
)
if
(
GET_CODE
(
parmreg
)
==
CONCAT
)
{
/* Scan backwards for the set of the real and
REG_NOTES
(
linsn
)
imaginary parts. */
for
(
sinsn
=
linsn
;
sinsn
!=
0
;
sinsn
=
prev_nonnote_insn
(
sinsn
))
{
set
=
single_set
(
sinsn
);
if
(
set
!=
0
&&
SET_DEST
(
set
)
==
regno_reg_rtx
[
regnoi
])
REG_NOTES
(
sinsn
)
=
gen_rtx
(
EXPR_LIST
,
REG_EQUIV
,
=
gen_rtx
(
EXPR_LIST
,
REG_EQUIV
,
parm_reg_stack_loc
[
regnoi
],
REG_NOTES
(
linsn
));
parm_reg_stack_loc
[
regnoi
],
REG_NOTES
(
sinsn
));
/* Now search backward for where we set the real part. */
else
if
(
set
!=
0
for
(;
linsn
!=
0
&&
SET_DEST
(
set
)
==
regno_reg_rtx
[
regnor
])
&&
!
reg_referenced_p
(
parm_reg_stack_loc
[
regnor
],
REG_NOTES
(
sinsn
)
PATTERN
(
linsn
));
linsn
=
prev_nonnote_insn
(
linsn
))
;
REG_NOTES
(
linsn
)
=
gen_rtx
(
EXPR_LIST
,
REG_EQUIV
,
=
gen_rtx
(
EXPR_LIST
,
REG_EQUIV
,
parm_reg_stack_loc
[
regnor
],
REG_NOTES
(
linsn
));
parm_reg_stack_loc
[
regnor
],
REG_NOTES
(
sinsn
));
}
}
else
else
if
((
set
=
single_set
(
linsn
))
!=
0
&&
SET_DEST
(
set
)
==
parmreg
)
REG_NOTES
(
linsn
)
REG_NOTES
(
linsn
)
=
gen_rtx
(
EXPR_LIST
,
REG_EQUIV
,
=
gen_rtx
(
EXPR_LIST
,
REG_EQUIV
,
entry_parm
,
REG_NOTES
(
linsn
));
entry_parm
,
REG_NOTES
(
linsn
));
...
...
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