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
4af46a32
Commit
4af46a32
authored
Oct 28, 2004
by
Aldy Hernandez
Committed by
Aldy Hernandez
Oct 28, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* function.c (assign_parm_setup_block): Handle parallels correctly.
From-SVN: r89750
parent
5921f276
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
2 deletions
+26
-2
gcc/ChangeLog
+4
-0
gcc/function.c
+22
-2
No files found.
gcc/ChangeLog
View file @
4af46a32
2004
-
10
-
28
Aldy
Hernandez
<
aldyh
@
redhat
.
com
>
*
function
.
c
(
assign_parm_setup_block
):
Handle
parallels
correctly
.
2004
-
10
-
28
Kaz
Kojima
<
kkojima
@
gcc
.
gnu
.
org
>
*
final
.
c
(
shorten_branches
):
Initialize
flags
structure
.
...
...
gcc/function.c
View file @
4af46a32
...
...
@@ -2550,8 +2550,28 @@ assign_parm_setup_block (tree parm, struct assign_parm_data_one *data)
{
rtx
parmreg
=
gen_reg_rtx
(
data
->
nominal_mode
);
emit_group_store
(
parmreg
,
entry_parm
,
data
->
nominal_type
,
int_size_in_bytes
(
data
->
nominal_type
));
/* For values returned in multiple registers, handle possible
incompatible calls to emit_group_store.
For example, the following would be invalid, and would have to
be fixed by the conditional below:
emit_group_store ((reg:SF), (parallel:DF))
emit_group_store ((reg:SI), (parallel:DI))
An example of this are doubles in e500 v2:
(parallel:DF (expr_list (reg:SI) (const_int 0))
(expr_list (reg:SI) (const_int 4))). */
if
(
data
->
nominal_mode
!=
data
->
passed_mode
)
{
rtx
t
=
gen_reg_rtx
(
GET_MODE
(
entry_parm
));
emit_group_store
(
t
,
entry_parm
,
NULL_TREE
,
GET_MODE_SIZE
(
GET_MODE
(
entry_parm
)));
convert_move
(
parmreg
,
t
,
0
);
}
else
emit_group_store
(
parmreg
,
entry_parm
,
data
->
nominal_type
,
int_size_in_bytes
(
data
->
nominal_type
));
SET_DECL_RTL
(
parm
,
parmreg
);
return
;
}
...
...
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