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
58533fa2
Commit
58533fa2
authored
Apr 18, 2002
by
Richard Henderson
Committed by
Richard Henderson
Apr 18, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* function.c: Revert patch for c/6358.
From-SVN: r52511
parent
0cd3301b
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
33 deletions
+18
-33
gcc/ChangeLog
+4
-0
gcc/function.c
+14
-33
No files found.
gcc/ChangeLog
View file @
58533fa2
2002-04-18 Richard Henderson <rth@redhat.com>
* function.c: Revert patch for c/6358.
2002-04-18 Richard Henderson <rth@redhat.com>
* ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
blocks. Handle multiple references to the TRAP block. Handle
non-adjacent THEN and OTHER blocks.
...
...
gcc/function.c
View file @
58533fa2
...
...
@@ -5145,35 +5145,6 @@ assign_parms (fndecl)
current_function_return_rtx
=
(
DECL_RTL_SET_P
(
DECL_RESULT
(
fndecl
))
?
DECL_RTL
(
DECL_RESULT
(
fndecl
))
:
NULL_RTX
);
/* If scalar return value was computed in a pseudo-reg, or was a named
return value that got dumped to the stack, copy that to the hard
return register. */
if
(
DECL_RTL_SET_P
(
DECL_RESULT
(
fndecl
)))
{
tree
decl_result
=
DECL_RESULT
(
fndecl
);
rtx
decl_rtl
=
DECL_RTL
(
decl_result
);
if
(
REG_P
(
decl_rtl
)
?
REGNO
(
decl_rtl
)
>=
FIRST_PSEUDO_REGISTER
:
DECL_REGISTER
(
decl_result
))
{
rtx
real_decl_rtl
;
#ifdef FUNCTION_OUTGOING_VALUE
real_decl_rtl
=
FUNCTION_OUTGOING_VALUE
(
TREE_TYPE
(
decl_result
),
fndecl
);
#else
real_decl_rtl
=
FUNCTION_VALUE
(
TREE_TYPE
(
decl_result
),
fndecl
);
#endif
REG_FUNCTION_VALUE_P
(
real_decl_rtl
)
=
1
;
/* The delay slot scheduler assumes that current_function_return_rtx
holds the hard register containing the return value, not a
temporary pseudo. */
current_function_return_rtx
=
real_decl_rtl
;
}
}
}
/* Indicate whether REGNO is an incoming argument to the current function
...
...
@@ -6987,11 +6958,16 @@ expand_function_end (filename, line, end_bindings)
?
REGNO
(
decl_rtl
)
>=
FIRST_PSEUDO_REGISTER
:
DECL_REGISTER
(
decl_result
))
{
rtx
real_decl_rtl
=
current_function_return_rtx
;
rtx
real_decl_rtl
;
/* This should be set in assign_parms. */
if
(
!
REG_FUNCTION_VALUE_P
(
real_decl_rtl
))
abort
();
#ifdef FUNCTION_OUTGOING_VALUE
real_decl_rtl
=
FUNCTION_OUTGOING_VALUE
(
TREE_TYPE
(
decl_result
),
current_function_decl
);
#else
real_decl_rtl
=
FUNCTION_VALUE
(
TREE_TYPE
(
decl_result
),
current_function_decl
);
#endif
REG_FUNCTION_VALUE_P
(
real_decl_rtl
)
=
1
;
/* If this is a BLKmode structure being returned in registers,
then use the mode computed in expand_return. Note that if
...
...
@@ -7019,6 +6995,11 @@ expand_function_end (filename, line, end_bindings)
int_size_in_bytes
(
TREE_TYPE
(
decl_result
)));
else
emit_move_insn
(
real_decl_rtl
,
decl_rtl
);
/* The delay slot scheduler assumes that current_function_return_rtx
holds the hard register containing the return value, not a
temporary pseudo. */
current_function_return_rtx
=
real_decl_rtl
;
}
}
...
...
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